public static unsafe void GetProgramBinary <T0>(this ArbGetProgramBinary thisApi, [Flow(FlowDirection.In)] uint program, [Flow(FlowDirection.In)] uint bufSize, [Count(Count = 1), Flow(FlowDirection.Out)] Span <uint> length, [Count(Count = 1), Flow(FlowDirection.Out)] Span <ARB> binaryFormat, [Count(Parameter = "bufSize"), Flow(FlowDirection.Out)] Span <T0> binary) where T0 : unmanaged
 {
     // SpanOverloader
     thisApi.GetProgramBinary(program, bufSize, out length.GetPinnableReference(), out binaryFormat.GetPinnableReference(), out binary.GetPinnableReference());
 }
 public static unsafe void ProgramBinary <T0>(this ArbGetProgramBinary thisApi, [Flow(FlowDirection.In)] uint program, [Flow(FlowDirection.In)] ARB binaryFormat, [Count(Parameter = "length"), Flow(FlowDirection.In)] ReadOnlySpan <T0> binary, [Flow(FlowDirection.In)] uint length) where T0 : unmanaged
 {
     // SpanOverloader
     thisApi.ProgramBinary(program, binaryFormat, in binary.GetPinnableReference(), length);
 }
 public static unsafe void GetProgramBinary(this ArbGetProgramBinary thisApi, [Flow(FlowDirection.In)] uint program, [Flow(FlowDirection.In)] uint bufSize, [Count(Count = 1), Flow(FlowDirection.Out)] Span <uint> length, [Count(Count = 1), Flow(FlowDirection.Out)] ARB *binaryFormat, [Count(Parameter = "bufSize"), Flow(FlowDirection.Out)] void *binary)
 {
     // SpanOverloader
     thisApi.GetProgramBinary(program, bufSize, out length.GetPinnableReference(), binaryFormat, binary);
 }