Browse Source

Update more uses of `[^]T` types

gingerBill 4 years ago
parent
commit
58b5e92c2f
2 changed files with 146 additions and 146 deletions
  1. 54 54
      vendor/OpenGL/impl.odin
  2. 92 92
      vendor/OpenGL/wrappers.odin

+ 54 - 54
vendor/OpenGL/impl.odin

@@ -363,41 +363,41 @@ impl_UniformMatrix3fv:         proc "c" (location: i32, count: i32, transpose: b
 impl_UniformMatrix4fv:         proc "c" (location: i32, count: i32, transpose: bool, value: [^]f32);
 impl_ValidateProgram:          proc "c" (program: u32);
 impl_VertexAttrib1d:           proc "c" (index: u32, x: f64);
-impl_VertexAttrib1dv:          proc "c" (index: u32, v: ^f64);
+impl_VertexAttrib1dv:          proc "c" (index: u32, v: [^]f64);
 impl_VertexAttrib1f:           proc "c" (index: u32, x: f32);
-impl_VertexAttrib1fv:          proc "c" (index: u32, v: ^f32);
+impl_VertexAttrib1fv:          proc "c" (index: u32, v: [^]f32);
 impl_VertexAttrib1s:           proc "c" (index: u32, x: i16);
-impl_VertexAttrib1sv:          proc "c" (index: u32, v: ^i16);
+impl_VertexAttrib1sv:          proc "c" (index: u32, v: [^]i16);
 impl_VertexAttrib2d:           proc "c" (index: u32, x: f64, y: f64);
-impl_VertexAttrib2dv:          proc "c" (index: u32, v: ^f64);
+impl_VertexAttrib2dv:          proc "c" (index: u32, v: [^]f64);
 impl_VertexAttrib2f:           proc "c" (index: u32, x: f32, y: f32);
-impl_VertexAttrib2fv:          proc "c" (index: u32, v: ^f32);
+impl_VertexAttrib2fv:          proc "c" (index: u32, v: [^]f32);
 impl_VertexAttrib2s:           proc "c" (index: u32, x: i16, y: i16);
-impl_VertexAttrib2sv:          proc "c" (index: u32, v: ^i16);
+impl_VertexAttrib2sv:          proc "c" (index: u32, v: [^]i16);
 impl_VertexAttrib3d:           proc "c" (index: u32, x: f64, y: f64, z: f64);
-impl_VertexAttrib3dv:          proc "c" (index: u32, v: ^f64);
+impl_VertexAttrib3dv:          proc "c" (index: u32, v: [^]f64);
 impl_VertexAttrib3f:           proc "c" (index: u32, x: f32, y: f32, z: f32);
-impl_VertexAttrib3fv:          proc "c" (index: u32, v: ^f32);
+impl_VertexAttrib3fv:          proc "c" (index: u32, v: [^]f32);
 impl_VertexAttrib3s:           proc "c" (index: u32, x: i16, y: i16, z: i16);
-impl_VertexAttrib3sv:          proc "c" (index: u32, v: ^i16);
-impl_VertexAttrib4Nbv:         proc "c" (index: u32, v: ^i8);
-impl_VertexAttrib4Niv:         proc "c" (index: u32, v: ^i32);
-impl_VertexAttrib4Nsv:         proc "c" (index: u32, v: ^i16);
+impl_VertexAttrib3sv:          proc "c" (index: u32, v: [^]i16);
+impl_VertexAttrib4Nbv:         proc "c" (index: u32, v: [^]i8);
+impl_VertexAttrib4Niv:         proc "c" (index: u32, v: [^]i32);
+impl_VertexAttrib4Nsv:         proc "c" (index: u32, v: [^]i16);
 impl_VertexAttrib4Nub:         proc "c" (index: u32, x: u8, y: u8, z: u8, w: u8);
-impl_VertexAttrib4Nubv:        proc "c" (index: u32, v: ^u8);
-impl_VertexAttrib4Nuiv:        proc "c" (index: u32, v: ^u32);
-impl_VertexAttrib4Nusv:        proc "c" (index: u32, v: ^u16);
-impl_VertexAttrib4bv:          proc "c" (index: u32, v: ^i8);
+impl_VertexAttrib4Nubv:        proc "c" (index: u32, v: [^]u8);
+impl_VertexAttrib4Nuiv:        proc "c" (index: u32, v: [^]u32);
+impl_VertexAttrib4Nusv:        proc "c" (index: u32, v: [^]u16);
+impl_VertexAttrib4bv:          proc "c" (index: u32, v: [^]i8);
 impl_VertexAttrib4d:           proc "c" (index: u32, x: f64, y: f64, z: f64, w: f64);
-impl_VertexAttrib4dv:          proc "c" (index: u32, v: ^f64);
+impl_VertexAttrib4dv:          proc "c" (index: u32, v: [^]f64);
 impl_VertexAttrib4f:           proc "c" (index: u32, x: f32, y: f32, z: f32, w: f32);
-impl_VertexAttrib4fv:          proc "c" (index: u32, v: ^f32);
-impl_VertexAttrib4iv:          proc "c" (index: u32, v: ^i32);
+impl_VertexAttrib4fv:          proc "c" (index: u32, v: [^]f32);
+impl_VertexAttrib4iv:          proc "c" (index: u32, v: [^]i32);
 impl_VertexAttrib4s:           proc "c" (index: u32, x: i16, y: i16, z: i16, w: i16);
-impl_VertexAttrib4sv:          proc "c" (index: u32, v: ^i16);
-impl_VertexAttrib4ubv:         proc "c" (index: u32, v: ^u8);
-impl_VertexAttrib4uiv:         proc "c" (index: u32, v: ^u32);
-impl_VertexAttrib4usv:         proc "c" (index: u32, v: ^u16);
+impl_VertexAttrib4sv:          proc "c" (index: u32, v: [^]i16);
+impl_VertexAttrib4ubv:         proc "c" (index: u32, v: [^]u8);
+impl_VertexAttrib4uiv:         proc "c" (index: u32, v: [^]u32);
+impl_VertexAttrib4usv:         proc "c" (index: u32, v: [^]u16);
 impl_VertexAttribPointer:      proc "c" (index: u32, size: i32, type: u32, normalized: bool, stride: i32, pointer: rawptr);
 
 load_2_0 :: proc(set_proc_address: Set_Proc_Address_Type) {
@@ -542,18 +542,18 @@ impl_VertexAttribI1ui:                    proc "c" (index: u32, x: u32);
 impl_VertexAttribI2ui:                    proc "c" (index: u32, x: u32, y: u32);
 impl_VertexAttribI3ui:                    proc "c" (index: u32, x: u32, y: u32, z: u32);
 impl_VertexAttribI4ui:                    proc "c" (index: u32, x: u32, y: u32, z: u32, w: u32);
-impl_VertexAttribI1iv:                    proc "c" (index: u32, v: ^i32);
-impl_VertexAttribI2iv:                    proc "c" (index: u32, v: ^i32);
-impl_VertexAttribI3iv:                    proc "c" (index: u32, v: ^i32);
-impl_VertexAttribI4iv:                    proc "c" (index: u32, v: ^i32);
-impl_VertexAttribI1uiv:                   proc "c" (index: u32, v: ^u32);
-impl_VertexAttribI2uiv:                   proc "c" (index: u32, v: ^u32);
-impl_VertexAttribI3uiv:                   proc "c" (index: u32, v: ^u32);
-impl_VertexAttribI4uiv:                   proc "c" (index: u32, v: ^u32);
-impl_VertexAttribI4bv:                    proc "c" (index: u32, v: ^i8);
-impl_VertexAttribI4sv:                    proc "c" (index: u32, v: ^i16);
-impl_VertexAttribI4ubv:                   proc "c" (index: u32, v: ^u8);
-impl_VertexAttribI4usv:                   proc "c" (index: u32, v: ^u16);
+impl_VertexAttribI1iv:                    proc "c" (index: u32, v: [^]i32);
+impl_VertexAttribI2iv:                    proc "c" (index: u32, v: [^]i32);
+impl_VertexAttribI3iv:                    proc "c" (index: u32, v: [^]i32);
+impl_VertexAttribI4iv:                    proc "c" (index: u32, v: [^]i32);
+impl_VertexAttribI1uiv:                   proc "c" (index: u32, v: [^]u32);
+impl_VertexAttribI2uiv:                   proc "c" (index: u32, v: [^]u32);
+impl_VertexAttribI3uiv:                   proc "c" (index: u32, v: [^]u32);
+impl_VertexAttribI4uiv:                   proc "c" (index: u32, v: [^]u32);
+impl_VertexAttribI4bv:                    proc "c" (index: u32, v: [^]i8);
+impl_VertexAttribI4sv:                    proc "c" (index: u32, v: [^]i16);
+impl_VertexAttribI4ubv:                   proc "c" (index: u32, v: [^]u8);
+impl_VertexAttribI4usv:                   proc "c" (index: u32, v: [^]u16);
 impl_GetUniformuiv:                       proc "c" (program: u32, location: i32, params: [^]u32);
 impl_BindFragDataLocation:                proc "c" (program: u32, color: u32, name: cstring);
 impl_GetFragDataLocation:                 proc "c" (program: u32, name: cstring) -> i32;
@@ -928,14 +928,14 @@ impl_UniformMatrix4x3dv:             proc "c" (location: i32, count: i32, transp
 impl_GetUniformdv:                   proc "c" (program: u32, location: i32, params: [^]f64);
 impl_GetSubroutineUniformLocation:   proc "c" (program: u32, shadertype: u32, name: cstring) -> i32;
 impl_GetSubroutineIndex:             proc "c" (program: u32, shadertype: u32, name: cstring) -> u32;
-impl_GetActiveSubroutineUniformiv:   proc "c" (program: u32, shadertype: u32, index: u32, pname: u32, values: ^i32);
+impl_GetActiveSubroutineUniformiv:   proc "c" (program: u32, shadertype: u32, index: u32, pname: u32, values: [^]i32);
 impl_GetActiveSubroutineUniformName: proc "c" (program: u32, shadertype: u32, index: u32, bufsize: i32, length: ^i32, name: [^]u8);
 impl_GetActiveSubroutineName:        proc "c" (program: u32, shadertype: u32, index: u32, bufsize: i32, length: ^i32, name: [^]u8);
 impl_UniformSubroutinesuiv:          proc "c" (shadertype: u32, count: i32, indices: ^u32);
 impl_GetUniformSubroutineuiv:        proc "c" (shadertype: u32, location: i32, params: [^]u32);
-impl_GetProgramStageiv:              proc "c" (program: u32, shadertype: u32, pname: u32, values: ^i32);
+impl_GetProgramStageiv:              proc "c" (program: u32, shadertype: u32, pname: u32, values: [^]i32);
 impl_PatchParameteri:                proc "c" (pname: u32, value: i32);
-impl_PatchParameterfv:               proc "c" (pname: u32, values: ^f32);
+impl_PatchParameterfv:               proc "c" (pname: u32, values: [^]f32);
 impl_BindTransformFeedback:          proc "c" (target: u32, id: u32);
 impl_DeleteTransformFeedbacks:       proc "c" (n: i32, ids: [^]u32);
 impl_GenTransformFeedbacks:          proc "c" (n: i32, ids: [^]u32);
@@ -1071,19 +1071,19 @@ impl_VertexAttribL1d:           proc "c" (index: u32, x: f64);
 impl_VertexAttribL2d:           proc "c" (index: u32, x: f64, y: f64);
 impl_VertexAttribL3d:           proc "c" (index: u32, x: f64, y: f64, z: f64);
 impl_VertexAttribL4d:           proc "c" (index: u32, x: f64, y: f64, z: f64, w: f64);
-impl_VertexAttribL1dv:          proc "c" (index: u32, v: ^f64);
-impl_VertexAttribL2dv:          proc "c" (index: u32, v: ^f64);
-impl_VertexAttribL3dv:          proc "c" (index: u32, v: ^f64);
-impl_VertexAttribL4dv:          proc "c" (index: u32, v: ^f64);
+impl_VertexAttribL1dv:          proc "c" (index: u32, v: [^]f64);
+impl_VertexAttribL2dv:          proc "c" (index: u32, v: [^]f64);
+impl_VertexAttribL3dv:          proc "c" (index: u32, v: [^]f64);
+impl_VertexAttribL4dv:          proc "c" (index: u32, v: [^]f64);
 impl_VertexAttribLPointer:      proc "c" (index: u32, size: i32, type: u32, stride: i32, pointer: rawptr);
 impl_GetVertexAttribLdv:        proc "c" (index: u32, pname: u32, params: [^]f64);
-impl_ViewportArrayv:            proc "c" (first: u32, count: i32, v: ^f32);
+impl_ViewportArrayv:            proc "c" (first: u32, count: i32, v: [^]f32);
 impl_ViewportIndexedf:          proc "c" (index: u32, x: f32, y: f32, w: f32, h: f32);
-impl_ViewportIndexedfv:         proc "c" (index: u32, v: ^f32);
-impl_ScissorArrayv:             proc "c" (first: u32, count: i32, v: ^i32);
+impl_ViewportIndexedfv:         proc "c" (index: u32, v: [^]f32);
+impl_ScissorArrayv:             proc "c" (first: u32, count: i32, v: [^]i32);
 impl_ScissorIndexed:            proc "c" (index: u32, left: i32, bottom: i32, width: i32, height: i32);
-impl_ScissorIndexedv:           proc "c" (index: u32, v: ^i32);
-impl_DepthRangeArrayv:          proc "c" (first: u32, count: i32, v: ^f64);
+impl_ScissorIndexedv:           proc "c" (index: u32, v: [^]i32);
+impl_DepthRangeArrayv:          proc "c" (first: u32, count: i32, v: [^]f64);
 impl_DepthRangeIndexed:         proc "c" (index: u32, n: f64, f: f64);
 impl_GetFloati_v:               proc "c" (target: u32, index: u32, data: ^f32);
 impl_GetDoublei_v:              proc "c" (target: u32, index: u32, data: ^f64);
@@ -1439,13 +1439,13 @@ impl_GetnUniformfv:                            proc "c" (program: u32, location:
 impl_GetnUniformiv:                            proc "c" (program: u32, location: i32, bufSize: i32, params: [^]i32);
 impl_GetnUniformuiv:                           proc "c" (program: u32, location: i32, bufSize: i32, params: [^]u32);
 impl_ReadnPixels:                              proc "c" (x: i32, y: i32, width: i32, height: i32, format: u32, type: u32, bufSize: i32, data: rawptr);
-impl_GetnMapdv:                                proc "c" (target: u32, query: u32, bufSize: i32, v: ^f64);
-impl_GetnMapfv:                                proc "c" (target: u32, query: u32, bufSize: i32, v: ^f32);
-impl_GetnMapiv:                                proc "c" (target: u32, query: u32, bufSize: i32, v: ^i32);
-impl_GetnPixelMapusv:                          proc "c" (map_: u32, bufSize: i32, values: ^u16);
-impl_GetnPixelMapfv:                           proc "c" (map_: u32, bufSize: i32, values: ^f32);
-impl_GetnPixelMapuiv:                          proc "c" (map_: u32, bufSize: i32, values: ^u32);
-impl_GetnPolygonStipple:                       proc "c" (bufSize: i32, pattern: ^u8);
+impl_GetnMapdv:                                proc "c" (target: u32, query: u32, bufSize: i32, v: [^]f64);
+impl_GetnMapfv:                                proc "c" (target: u32, query: u32, bufSize: i32, v: [^]f32);
+impl_GetnMapiv:                                proc "c" (target: u32, query: u32, bufSize: i32, v: [^]i32);
+impl_GetnPixelMapusv:                          proc "c" (map_: u32, bufSize: i32, values: [^]u16);
+impl_GetnPixelMapfv:                           proc "c" (map_: u32, bufSize: i32, values: [^]f32);
+impl_GetnPixelMapuiv:                          proc "c" (map_: u32, bufSize: i32, values: [^]u32);
+impl_GetnPolygonStipple:                       proc "c" (bufSize: i32, pattern: [^]u8);
 impl_GetnColorTable:                           proc "c" (target: u32, format: u32, type: u32, bufSize: i32, table: rawptr);
 impl_GetnConvolutionFilter:                    proc "c" (target: u32, format: u32, type: u32, bufSize: i32, image: rawptr);
 impl_GetnSeparableFilter:                      proc "c" (target: u32, format: u32, type: u32, rowBufSize: i32, row: rawptr, columnBufSize: i32, column: rawptr, span: rawptr);

+ 92 - 92
vendor/OpenGL/wrappers.odin

@@ -173,41 +173,41 @@ when !ODIN_DEBUG {
 	UniformMatrix4fv         :: #force_inline proc "c" (location: i32, count: i32, transpose: bool, value: [^]f32)                                  {        impl_UniformMatrix4fv(location, count, transpose, value);                              }
 	ValidateProgram          :: #force_inline proc "c" (program: u32)                                                                               {        impl_ValidateProgram(program);                                                         }
 	VertexAttrib1d           :: #force_inline proc "c" (index: u32, x: f64)                                                                         {        impl_VertexAttrib1d(index, x);                                                         }
-	VertexAttrib1dv          :: #force_inline proc "c" (index: u32, v: ^f64)                                                                        {        impl_VertexAttrib1dv(index, v);                                                        }
+	VertexAttrib1dv          :: #force_inline proc "c" (index: u32, v: [^]f64)                                                                        {        impl_VertexAttrib1dv(index, v);                                                        }
 	VertexAttrib1f           :: #force_inline proc "c" (index: u32, x: f32)                                                                         {        impl_VertexAttrib1f(index, x);                                                         }
-	VertexAttrib1fv          :: #force_inline proc "c" (index: u32, v: ^f32)                                                                        {        impl_VertexAttrib1fv(index, v);                                                        }
+	VertexAttrib1fv          :: #force_inline proc "c" (index: u32, v: [^]f32)                                                                        {        impl_VertexAttrib1fv(index, v);                                                        }
 	VertexAttrib1s           :: #force_inline proc "c" (index: u32, x: i16)                                                                         {        impl_VertexAttrib1s(index, x);                                                         }
-	VertexAttrib1sv          :: #force_inline proc "c" (index: u32, v: ^i16)                                                                        {        impl_VertexAttrib1sv(index, v);                                                        }
+	VertexAttrib1sv          :: #force_inline proc "c" (index: u32, v: [^]i16)                                                                      {        impl_VertexAttrib1sv(index, v);                                                        }
 	VertexAttrib2d           :: #force_inline proc "c" (index: u32, x: f64, y: f64)                                                                 {        impl_VertexAttrib2d(index, x, y);                                                      }
-	VertexAttrib2dv          :: #force_inline proc "c" (index: u32, v: ^f64)                                                                        {        impl_VertexAttrib2dv(index, v);                                                        }
+	VertexAttrib2dv          :: #force_inline proc "c" (index: u32, v: [^]f64)                                                                      {        impl_VertexAttrib2dv(index, v);                                                        }
 	VertexAttrib2f           :: #force_inline proc "c" (index: u32, x: f32, y: f32)                                                                 {        impl_VertexAttrib2f(index, x, y);                                                      }
-	VertexAttrib2fv          :: #force_inline proc "c" (index: u32, v: ^f32)                                                                        {        impl_VertexAttrib2fv(index, v);                                                        }
+	VertexAttrib2fv          :: #force_inline proc "c" (index: u32, v: [^]f32)                                                                      {        impl_VertexAttrib2fv(index, v);                                                        }
 	VertexAttrib2s           :: #force_inline proc "c" (index: u32, x: i16, y: i16)                                                                 {        impl_VertexAttrib2s(index, x, y);                                                      }
-	VertexAttrib2sv          :: #force_inline proc "c" (index: u32, v: ^i16)                                                                        {        impl_VertexAttrib2sv(index, v);                                                        }
+	VertexAttrib2sv          :: #force_inline proc "c" (index: u32, v: [^]i16)                                                                      {        impl_VertexAttrib2sv(index, v);                                                        }
 	VertexAttrib3d           :: #force_inline proc "c" (index: u32, x: f64, y: f64, z: f64)                                                         {        impl_VertexAttrib3d(index, x, y, z);                                                   }
-	VertexAttrib3dv          :: #force_inline proc "c" (index: u32, v: ^f64)                                                                        {        impl_VertexAttrib3dv(index, v);                                                        }
+	VertexAttrib3dv          :: #force_inline proc "c" (index: u32, v: [^]f64)                                                                      {        impl_VertexAttrib3dv(index, v);                                                        }
 	VertexAttrib3f           :: #force_inline proc "c" (index: u32, x: f32, y: f32, z: f32)                                                         {        impl_VertexAttrib3f(index, x, y, z);                                                   }
-	VertexAttrib3fv          :: #force_inline proc "c" (index: u32, v: ^f32)                                                                        {        impl_VertexAttrib3fv(index, v);                                                        }
+	VertexAttrib3fv          :: #force_inline proc "c" (index: u32, v: [^]f32)                                                                      {        impl_VertexAttrib3fv(index, v);                                                        }
 	VertexAttrib3s           :: #force_inline proc "c" (index: u32, x: i16, y: i16, z: i16)                                                         {        impl_VertexAttrib3s(index, x, y, z);                                                   }
-	VertexAttrib3sv          :: #force_inline proc "c" (index: u32, v: ^i16)                                                                        {        impl_VertexAttrib3sv(index, v);                                                        }
-	VertexAttrib4Nbv         :: #force_inline proc "c" (index: u32, v: ^i8)                                                                         {        impl_VertexAttrib4Nbv(index, v);                                                       }
-	VertexAttrib4Niv         :: #force_inline proc "c" (index: u32, v: ^i32)                                                                        {        impl_VertexAttrib4Niv(index, v);                                                       }
-	VertexAttrib4Nsv         :: #force_inline proc "c" (index: u32, v: ^i16)                                                                        {        impl_VertexAttrib4Nsv(index, v);                                                       }
+	VertexAttrib3sv          :: #force_inline proc "c" (index: u32, v: [^]i16)                                                                      {        impl_VertexAttrib3sv(index, v);                                                        }
+	VertexAttrib4Nbv         :: #force_inline proc "c" (index: u32, v: [^]i8)                                                                       {        impl_VertexAttrib4Nbv(index, v);                                                       }
+	VertexAttrib4Niv         :: #force_inline proc "c" (index: u32, v: [^]i32)                                                                      {        impl_VertexAttrib4Niv(index, v);                                                       }
+	VertexAttrib4Nsv         :: #force_inline proc "c" (index: u32, v: [^]i16)                                                                      {        impl_VertexAttrib4Nsv(index, v);                                                       }
 	VertexAttrib4Nub         :: #force_inline proc "c" (index: u32, x: u8, y: u8, z: u8, w: u8)                                                     {        impl_VertexAttrib4Nub(index, x, y, z, w);                                              }
-	VertexAttrib4Nubv        :: #force_inline proc "c" (index: u32, v: ^u8)                                                                         {        impl_VertexAttrib4Nubv(index, v);                                                      }
-	VertexAttrib4Nuiv        :: #force_inline proc "c" (index: u32, v: ^u32)                                                                        {        impl_VertexAttrib4Nuiv(index, v);                                                      }
-	VertexAttrib4Nusv        :: #force_inline proc "c" (index: u32, v: ^u16)                                                                        {        impl_VertexAttrib4Nusv(index, v);                                                      }
-	VertexAttrib4bv          :: #force_inline proc "c" (index: u32, v: ^i8)                                                                         {        impl_VertexAttrib4bv(index, v);                                                        }
+	VertexAttrib4Nubv        :: #force_inline proc "c" (index: u32, v: [^]u8)                                                                       {        impl_VertexAttrib4Nubv(index, v);                                                      }
+	VertexAttrib4Nuiv        :: #force_inline proc "c" (index: u32, v: [^]u32)                                                                      {        impl_VertexAttrib4Nuiv(index, v);                                                      }
+	VertexAttrib4Nusv        :: #force_inline proc "c" (index: u32, v: [^]u16)                                                                      {        impl_VertexAttrib4Nusv(index, v);                                                      }
+	VertexAttrib4bv          :: #force_inline proc "c" (index: u32, v: [^]i8)                                                                       {        impl_VertexAttrib4bv(index, v);                                                        }
 	VertexAttrib4d           :: #force_inline proc "c" (index: u32, x: f64, y: f64, z: f64, w: f64)                                                 {        impl_VertexAttrib4d(index, x, y, z, w);                                                }
-	VertexAttrib4dv          :: #force_inline proc "c" (index: u32, v: ^f64)                                                                        {        impl_VertexAttrib4dv(index, v);                                                        }
+	VertexAttrib4dv          :: #force_inline proc "c" (index: u32, v: [^]f64)                                                                      {        impl_VertexAttrib4dv(index, v);                                                        }
 	VertexAttrib4f           :: #force_inline proc "c" (index: u32, x: f32, y: f32, z: f32, w: f32)                                                 {        impl_VertexAttrib4f(index, x, y, z, w);                                                }
-	VertexAttrib4fv          :: #force_inline proc "c" (index: u32, v: ^f32)                                                                        {        impl_VertexAttrib4fv(index, v);                                                        }
-	VertexAttrib4iv          :: #force_inline proc "c" (index: u32, v: ^i32)                                                                        {        impl_VertexAttrib4iv(index, v);                                                        }
+	VertexAttrib4fv          :: #force_inline proc "c" (index: u32, v: [^]f32)                                                                      {        impl_VertexAttrib4fv(index, v);                                                        }
+	VertexAttrib4iv          :: #force_inline proc "c" (index: u32, v: [^]i32)                                                                      {        impl_VertexAttrib4iv(index, v);                                                        }
 	VertexAttrib4s           :: #force_inline proc "c" (index: u32, x: i16, y: i16, z: i16, w: i16)                                                 {        impl_VertexAttrib4s(index, x, y, z, w);                                                }
-	VertexAttrib4sv          :: #force_inline proc "c" (index: u32, v: ^i16)                                                                        {        impl_VertexAttrib4sv(index, v);                                                        }
-	VertexAttrib4ubv         :: #force_inline proc "c" (index: u32, v: ^u8)                                                                         {        impl_VertexAttrib4ubv(index, v);                                                       }
-	VertexAttrib4uiv         :: #force_inline proc "c" (index: u32, v: ^u32)                                                                        {        impl_VertexAttrib4uiv(index, v);                                                       }
-	VertexAttrib4usv         :: #force_inline proc "c" (index: u32, v: ^u16)                                                                        {        impl_VertexAttrib4usv(index, v);                                                       }
+	VertexAttrib4sv          :: #force_inline proc "c" (index: u32, v: [^]i16)                                                                      {        impl_VertexAttrib4sv(index, v);                                                        }
+	VertexAttrib4ubv         :: #force_inline proc "c" (index: u32, v: [^]u8)                                                                       {        impl_VertexAttrib4ubv(index, v);                                                       }
+	VertexAttrib4uiv         :: #force_inline proc "c" (index: u32, v: [^]u32)                                                                      {        impl_VertexAttrib4uiv(index, v);                                                       }
+	VertexAttrib4usv         :: #force_inline proc "c" (index: u32, v: [^]u16)                                                                      {        impl_VertexAttrib4usv(index, v);                                                       }
 	VertexAttribPointer      :: #force_inline proc "c" (index: u32, size: i32, type: u32, normalized: bool, stride: i32, pointer: rawptr)           {        impl_VertexAttribPointer(index, size, type, normalized, stride, pointer);             }
 
 	// VERSION_2_1
@@ -246,18 +246,18 @@ when !ODIN_DEBUG {
 	VertexAttribI2ui                    :: #force_inline proc "c" (index: u32, x: u32, y: u32)                                                                                             {        impl_VertexAttribI2ui(index, x, y);                                                                     }
 	VertexAttribI3ui                    :: #force_inline proc "c" (index: u32, x: u32, y: u32, z: u32)                                                                                     {        impl_VertexAttribI3ui(index, x, y, z);                                                                  }
 	VertexAttribI4ui                    :: #force_inline proc "c" (index: u32, x: u32, y: u32, z: u32, w: u32)                                                                             {        impl_VertexAttribI4ui(index, x, y, z, w);                                                               }
-	VertexAttribI1iv                    :: #force_inline proc "c" (index: u32, v: ^i32)                                                                                                    {        impl_VertexAttribI1iv(index, v);                                                                        }
-	VertexAttribI2iv                    :: #force_inline proc "c" (index: u32, v: ^i32)                                                                                                    {        impl_VertexAttribI2iv(index, v);                                                                        }
-	VertexAttribI3iv                    :: #force_inline proc "c" (index: u32, v: ^i32)                                                                                                    {        impl_VertexAttribI3iv(index, v);                                                                        }
-	VertexAttribI4iv                    :: #force_inline proc "c" (index: u32, v: ^i32)                                                                                                    {        impl_VertexAttribI4iv(index, v);                                                                        }
-	VertexAttribI1uiv                   :: #force_inline proc "c" (index: u32, v: ^u32)                                                                                                    {        impl_VertexAttribI1uiv(index, v);                                                                       }
-	VertexAttribI2uiv                   :: #force_inline proc "c" (index: u32, v: ^u32)                                                                                                    {        impl_VertexAttribI2uiv(index, v);                                                                       }
-	VertexAttribI3uiv                   :: #force_inline proc "c" (index: u32, v: ^u32)                                                                                                    {        impl_VertexAttribI3uiv(index, v);                                                                       }
-	VertexAttribI4uiv                   :: #force_inline proc "c" (index: u32, v: ^u32)                                                                                                    {        impl_VertexAttribI4uiv(index, v);                                                                       }
-	VertexAttribI4bv                    :: #force_inline proc "c" (index: u32, v: ^i8)                                                                                                     {        impl_VertexAttribI4bv(index, v);                                                                        }
-	VertexAttribI4sv                    :: #force_inline proc "c" (index: u32, v: ^i16)                                                                                                    {        impl_VertexAttribI4sv(index, v);                                                                        }
-	VertexAttribI4ubv                   :: #force_inline proc "c" (index: u32, v: ^u8)                                                                                                     {        impl_VertexAttribI4ubv(index, v);                                                                       }
-	VertexAttribI4usv                   :: #force_inline proc "c" (index: u32, v: ^u16)                                                                                                    {        impl_VertexAttribI4usv(index, v);                                                                       }
+	VertexAttribI1iv                    :: #force_inline proc "c" (index: u32, v: [^]i32)                                                                                                    {        impl_VertexAttribI1iv(index, v);                                                                        }
+	VertexAttribI2iv                    :: #force_inline proc "c" (index: u32, v: [^]i32)                                                                                                    {        impl_VertexAttribI2iv(index, v);                                                                        }
+	VertexAttribI3iv                    :: #force_inline proc "c" (index: u32, v: [^]i32)                                                                                                    {        impl_VertexAttribI3iv(index, v);                                                                        }
+	VertexAttribI4iv                    :: #force_inline proc "c" (index: u32, v: [^]i32)                                                                                                    {        impl_VertexAttribI4iv(index, v);                                                                        }
+	VertexAttribI1uiv                   :: #force_inline proc "c" (index: u32, v: [^]u32)                                                                                                    {        impl_VertexAttribI1uiv(index, v);                                                                       }
+	VertexAttribI2uiv                   :: #force_inline proc "c" (index: u32, v: [^]u32)                                                                                                    {        impl_VertexAttribI2uiv(index, v);                                                                       }
+	VertexAttribI3uiv                   :: #force_inline proc "c" (index: u32, v: [^]u32)                                                                                                    {        impl_VertexAttribI3uiv(index, v);                                                                       }
+	VertexAttribI4uiv                   :: #force_inline proc "c" (index: u32, v: [^]u32)                                                                                                    {        impl_VertexAttribI4uiv(index, v);                                                                       }
+	VertexAttribI4bv                    :: #force_inline proc "c" (index: u32, v: [^]i8)                                                                                                     {        impl_VertexAttribI4bv(index, v);                                                                        }
+	VertexAttribI4sv                    :: #force_inline proc "c" (index: u32, v: [^]i16)                                                                                                    {        impl_VertexAttribI4sv(index, v);                                                                        }
+	VertexAttribI4ubv                   :: #force_inline proc "c" (index: u32, v: [^]u8)                                                                                                     {        impl_VertexAttribI4ubv(index, v);                                                                       }
+	VertexAttribI4usv                   :: #force_inline proc "c" (index: u32, v: [^]u16)                                                                                                    {        impl_VertexAttribI4usv(index, v);                                                                       }
 	GetUniformuiv                       :: #force_inline proc "c" (program: u32, location: i32, params: [^]u32)                                                                            {        impl_GetUniformuiv(program, location, params);                                                          }
 	BindFragDataLocation                :: #force_inline proc "c" (program: u32, color: u32, name: cstring)                                                                                {        impl_BindFragDataLocation(program, color, name);                                                        }
 	GetFragDataLocation                 :: #force_inline proc "c" (program: u32, name: cstring) -> i32                                                                                     { ret := impl_GetFragDataLocation(program, name);                                                    return ret; }
@@ -521,22 +521,22 @@ when !ODIN_DEBUG {
 	VertexAttribL2d           :: #force_inline proc "c" (index: u32, x: f64, y: f64)                                                   {        impl_VertexAttribL2d(index, x, y);                                                        }
 	VertexAttribL3d           :: #force_inline proc "c" (index: u32, x: f64, y: f64, z: f64)                                           {        impl_VertexAttribL3d(index, x, y, z);                                                     }
 	VertexAttribL4d           :: #force_inline proc "c" (index: u32, x: f64, y: f64, z: f64, w: f64)                                   {        impl_VertexAttribL4d(index, x, y, z, w);                                                  }
-	VertexAttribL1dv          :: #force_inline proc "c" (index: u32, v: ^f64)                                                          {        impl_VertexAttribL1dv(index, v);                                                          }
-	VertexAttribL2dv          :: #force_inline proc "c" (index: u32, v: ^f64)                                                          {        impl_VertexAttribL2dv(index, v);                                                          }
-	VertexAttribL3dv          :: #force_inline proc "c" (index: u32, v: ^f64)                                                          {        impl_VertexAttribL3dv(index, v);                                                          }
-	VertexAttribL4dv          :: #force_inline proc "c" (index: u32, v: ^f64)                                                          {        impl_VertexAttribL4dv(index, v);                                                          }
+	VertexAttribL1dv          :: #force_inline proc "c" (index: u32, v: [^]f64)                                                          {        impl_VertexAttribL1dv(index, v);                                                          }
+	VertexAttribL2dv          :: #force_inline proc "c" (index: u32, v: [^]f64)                                                          {        impl_VertexAttribL2dv(index, v);                                                          }
+	VertexAttribL3dv          :: #force_inline proc "c" (index: u32, v: [^]f64)                                                          {        impl_VertexAttribL3dv(index, v);                                                          }
+	VertexAttribL4dv          :: #force_inline proc "c" (index: u32, v: [^]f64)                                                          {        impl_VertexAttribL4dv(index, v);                                                          }
 	VertexAttribLPointer      :: #force_inline proc "c" (index: u32, size: i32, type: u32, stride: i32, pointer: rawptr)               {        impl_VertexAttribLPointer(index, size, type, stride, pointer);                           }
 	GetVertexAttribLdv        :: #force_inline proc "c" (index: u32, pname: u32, params: [^]f64)                                       {        impl_GetVertexAttribLdv(index, pname, params);                                            }
 	ViewportArrayv            :: #force_inline proc "c" (first: u32, count: i32, v: [^]f32)                                            {        impl_ViewportArrayv(first, count, v);                                                     }
 	ViewportIndexedf          :: #force_inline proc "c" (index: u32, x: f32, y: f32, w: f32, h: f32)                                   {        impl_ViewportIndexedf(index, x, y, w, h);                                                 }
-	ViewportIndexedfv         :: #force_inline proc "c" (index: u32, v: ^f32)                                                          {        impl_ViewportIndexedfv(index, v);                                                         }
+	ViewportIndexedfv         :: #force_inline proc "c" (index: u32, v: [^]f32)                                                          {        impl_ViewportIndexedfv(index, v);                                                         }
 	ScissorArrayv             :: #force_inline proc "c" (first: u32, count: i32, v: [^]i32)                                            {        impl_ScissorArrayv(first, count, v);                                                      }
 	ScissorIndexed            :: #force_inline proc "c" (index: u32, left: i32, bottom: i32, width: i32, height: i32)                  {        impl_ScissorIndexed(index, left, bottom, width, height);                                  }
-	ScissorIndexedv           :: #force_inline proc "c" (index: u32, v: ^i32)                                                          {        impl_ScissorIndexedv(index, v);                                                           }
+	ScissorIndexedv           :: #force_inline proc "c" (index: u32, v: [^]i32)                                                          {        impl_ScissorIndexedv(index, v);                                                           }
 	DepthRangeArrayv          :: #force_inline proc "c" (first: u32, count: i32, v: [^]f64)                                            {        impl_DepthRangeArrayv(first, count, v);                                                   }
 	DepthRangeIndexed         :: #force_inline proc "c" (index: u32, n: f64, f: f64)                                                   {        impl_DepthRangeIndexed(index, n, f);                                                      }
-	GetFloati_v               :: #force_inline proc "c" (target: u32, index: u32, data: ^f32)                                          {        impl_GetFloati_v(target, index, data);                                                    }
-	GetDoublei_v              :: #force_inline proc "c" (target: u32, index: u32, data: ^f64)                                          {        impl_GetDoublei_v(target, index, data);                                                   }
+	GetFloati_v               :: #force_inline proc "c" (target: u32, index: u32, data: [^]f32)                                          {        impl_GetFloati_v(target, index, data);                                                    }
+	GetDoublei_v              :: #force_inline proc "c" (target: u32, index: u32, data: [^]f64)                                          {        impl_GetDoublei_v(target, index, data);                                                   }
 
 	// VERSION_4_2
 	DrawArraysInstancedBaseInstance             :: #force_inline proc "c" (mode: u32, first: i32, count: i32, instancecount: i32, baseinstance: u32)                                   { impl_DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance);                                  }
@@ -718,13 +718,13 @@ when !ODIN_DEBUG {
 	GetnUniformiv                            :: #force_inline proc "c" (program: u32, location: i32, bufSize: i32, params: [^]i32)                                                                                                          {        impl_GetnUniformiv(program, location, bufSize, params);                                                                                        }
 	GetnUniformuiv                           :: #force_inline proc "c" (program: u32, location: i32, bufSize: i32, params: [^]u32)                                                                                                          {        impl_GetnUniformuiv(program, location, bufSize, params);                                                                                       }
 	ReadnPixels                              :: #force_inline proc "c" (x: i32, y: i32, width: i32, height: i32, format: u32, type: u32, bufSize: i32, data: rawptr)                                                                        {        impl_ReadnPixels(x, y, width, height, format, type, bufSize, data);                                                                           }
-	GetnMapdv                                :: #force_inline proc "c" (target: u32, query: u32, bufSize: i32, v: ^f64)                                                                                                                     {        impl_GetnMapdv(target, query, bufSize, v);                                                                                                     }
-	GetnMapfv                                :: #force_inline proc "c" (target: u32, query: u32, bufSize: i32, v: ^f32)                                                                                                                     {        impl_GetnMapfv(target, query, bufSize, v);                                                                                                     }
-	GetnMapiv                                :: #force_inline proc "c" (target: u32, query: u32, bufSize: i32, v: ^i32)                                                                                                                     {        impl_GetnMapiv(target, query, bufSize, v);                                                                                                     }
+	GetnMapdv                                :: #force_inline proc "c" (target: u32, query: u32, bufSize: i32, v: [^]f64)                                                                                                                     {        impl_GetnMapdv(target, query, bufSize, v);                                                                                                     }
+	GetnMapfv                                :: #force_inline proc "c" (target: u32, query: u32, bufSize: i32, v: [^]f32)                                                                                                                     {        impl_GetnMapfv(target, query, bufSize, v);                                                                                                     }
+	GetnMapiv                                :: #force_inline proc "c" (target: u32, query: u32, bufSize: i32, v: [^]i32)                                                                                                                     {        impl_GetnMapiv(target, query, bufSize, v);                                                                                                     }
 	GetnPixelMapusv                          :: #force_inline proc "c" (map_: u32, bufSize: i32, values: [^]u16)                                                                                                                            {        impl_GetnPixelMapusv(map_, bufSize, values);                                                                                                   }
 	GetnPixelMapfv                           :: #force_inline proc "c" (map_: u32, bufSize: i32, values: [^]f32)                                                                                                                            {        impl_GetnPixelMapfv(map_, bufSize, values);                                                                                                    }
 	GetnPixelMapuiv                          :: #force_inline proc "c" (map_: u32, bufSize: i32, values: [^]u32)                                                                                                                            {        impl_GetnPixelMapuiv(map_, bufSize, values);                                                                                                   }
-	GetnPolygonStipple                       :: #force_inline proc "c" (bufSize: i32, pattern: ^u8)                                                                                                                                         {        impl_GetnPolygonStipple(bufSize, pattern);                                                                                                     }
+	GetnPolygonStipple                       :: #force_inline proc "c" (bufSize: i32, pattern: [^]u8)                                                                                                                                         {        impl_GetnPolygonStipple(bufSize, pattern);                                                                                                     }
 	GetnColorTable                           :: #force_inline proc "c" (target: u32, format: u32, type: u32, bufSize: i32, table: rawptr)                                                                                                   {        impl_GetnColorTable(target, format, type, bufSize, table);                                                                                    }
 	GetnConvolutionFilter                    :: #force_inline proc "c" (target: u32, format: u32, type: u32, bufSize: i32, image: rawptr)                                                                                                   {        impl_GetnConvolutionFilter(target, format, type, bufSize, image);                                                                             }
 	GetnSeparableFilter                      :: #force_inline proc "c" (target: u32, format: u32, type: u32, rowBufSize: i32, row: rawptr, columnBufSize: i32, column: rawptr, span: rawptr)                                                {        impl_GetnSeparableFilter(target, format, type, rowBufSize, row, columnBufSize, column, span);                                                 }
@@ -974,41 +974,41 @@ when !ODIN_DEBUG {
 	UniformMatrix4fv         :: #force_inline proc "c" (location: i32, count: i32, transpose: bool, value: [^]f32, loc := #caller_location)                                 {        impl_UniformMatrix4fv(location, count, transpose, value);                  debug_helper(loc, 0, location, count, transpose, value);                              }
 	ValidateProgram          :: #force_inline proc "c" (program: u32, loc := #caller_location)                                                                              {        impl_ValidateProgram(program);                                             debug_helper(loc, 0, program);                                                        }
 	VertexAttrib1d           :: #force_inline proc "c" (index: u32, x: f64, loc := #caller_location)                                                                        {        impl_VertexAttrib1d(index, x);                                             debug_helper(loc, 0, index, x);                                                       }
-	VertexAttrib1dv          :: #force_inline proc "c" (index: u32, v: ^f64, loc := #caller_location)                                                                       {        impl_VertexAttrib1dv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib1dv          :: #force_inline proc "c" (index: u32, v: [^]f64, loc := #caller_location)                                                                       {        impl_VertexAttrib1dv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
 	VertexAttrib1f           :: #force_inline proc "c" (index: u32, x: f32, loc := #caller_location)                                                                        {        impl_VertexAttrib1f(index, x);                                             debug_helper(loc, 0, index, x);                                                       }
-	VertexAttrib1fv          :: #force_inline proc "c" (index: u32, v: ^f32, loc := #caller_location)                                                                       {        impl_VertexAttrib1fv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib1fv          :: #force_inline proc "c" (index: u32, v: [^]f32, loc := #caller_location)                                                                       {        impl_VertexAttrib1fv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
 	VertexAttrib1s           :: #force_inline proc "c" (index: u32, x: i16, loc := #caller_location)                                                                        {        impl_VertexAttrib1s(index, x);                                             debug_helper(loc, 0, index, x);                                                       }
-	VertexAttrib1sv          :: #force_inline proc "c" (index: u32, v: ^i16, loc := #caller_location)                                                                       {        impl_VertexAttrib1sv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib1sv          :: #force_inline proc "c" (index: u32, v: [^]i16, loc := #caller_location)                                                                       {        impl_VertexAttrib1sv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
 	VertexAttrib2d           :: #force_inline proc "c" (index: u32, x: f64, y: f64, loc := #caller_location)                                                                {        impl_VertexAttrib2d(index, x, y);                                          debug_helper(loc, 0, index, x, y);                                                    }
-	VertexAttrib2dv          :: #force_inline proc "c" (index: u32, v: ^f64, loc := #caller_location)                                                                       {        impl_VertexAttrib2dv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib2dv          :: #force_inline proc "c" (index: u32, v: [^]f64, loc := #caller_location)                                                                       {        impl_VertexAttrib2dv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
 	VertexAttrib2f           :: #force_inline proc "c" (index: u32, x: f32, y: f32, loc := #caller_location)                                                                {        impl_VertexAttrib2f(index, x, y);                                          debug_helper(loc, 0, index, x, y);                                                    }
-	VertexAttrib2fv          :: #force_inline proc "c" (index: u32, v: ^f32, loc := #caller_location)                                                                       {        impl_VertexAttrib2fv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib2fv          :: #force_inline proc "c" (index: u32, v: [^]f32, loc := #caller_location)                                                                       {        impl_VertexAttrib2fv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
 	VertexAttrib2s           :: #force_inline proc "c" (index: u32, x: i16, y: i16, loc := #caller_location)                                                                {        impl_VertexAttrib2s(index, x, y);                                          debug_helper(loc, 0, index, x, y);                                                    }
-	VertexAttrib2sv          :: #force_inline proc "c" (index: u32, v: ^i16, loc := #caller_location)                                                                       {        impl_VertexAttrib2sv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib2sv          :: #force_inline proc "c" (index: u32, v: [^]i16, loc := #caller_location)                                                                       {        impl_VertexAttrib2sv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
 	VertexAttrib3d           :: #force_inline proc "c" (index: u32, x: f64, y: f64, z: f64, loc := #caller_location)                                                        {        impl_VertexAttrib3d(index, x, y, z);                                       debug_helper(loc, 0, index, x, y, z);                                                 }
-	VertexAttrib3dv          :: #force_inline proc "c" (index: u32, v: ^f64, loc := #caller_location)                                                                       {        impl_VertexAttrib3dv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib3dv          :: #force_inline proc "c" (index: u32, v: [^]f64, loc := #caller_location)                                                                       {        impl_VertexAttrib3dv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
 	VertexAttrib3f           :: #force_inline proc "c" (index: u32, x: f32, y: f32, z: f32, loc := #caller_location)                                                        {        impl_VertexAttrib3f(index, x, y, z);                                       debug_helper(loc, 0, index, x, y, z);                                                 }
-	VertexAttrib3fv          :: #force_inline proc "c" (index: u32, v: ^f32, loc := #caller_location)                                                                       {        impl_VertexAttrib3fv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib3fv          :: #force_inline proc "c" (index: u32, v: [^]f32, loc := #caller_location)                                                                       {        impl_VertexAttrib3fv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
 	VertexAttrib3s           :: #force_inline proc "c" (index: u32, x: i16, y: i16, z: i16, loc := #caller_location)                                                        {        impl_VertexAttrib3s(index, x, y, z);                                       debug_helper(loc, 0, index, x, y, z);                                                 }
-	VertexAttrib3sv          :: #force_inline proc "c" (index: u32, v: ^i16, loc := #caller_location)                                                                       {        impl_VertexAttrib3sv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
-	VertexAttrib4Nbv         :: #force_inline proc "c" (index: u32, v: ^i8, loc := #caller_location)                                                                        {        impl_VertexAttrib4Nbv(index, v);                                           debug_helper(loc, 0, index, v);                                                       }
-	VertexAttrib4Niv         :: #force_inline proc "c" (index: u32, v: ^i32, loc := #caller_location)                                                                       {        impl_VertexAttrib4Niv(index, v);                                           debug_helper(loc, 0, index, v);                                                       }
-	VertexAttrib4Nsv         :: #force_inline proc "c" (index: u32, v: ^i16, loc := #caller_location)                                                                       {        impl_VertexAttrib4Nsv(index, v);                                           debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib3sv          :: #force_inline proc "c" (index: u32, v: [^]i16, loc := #caller_location)                                                                       {        impl_VertexAttrib3sv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib4Nbv         :: #force_inline proc "c" (index: u32, v: [^]i8, loc := #caller_location)                                                                        {        impl_VertexAttrib4Nbv(index, v);                                           debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib4Niv         :: #force_inline proc "c" (index: u32, v: [^]i32, loc := #caller_location)                                                                       {        impl_VertexAttrib4Niv(index, v);                                           debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib4Nsv         :: #force_inline proc "c" (index: u32, v: [^]i16, loc := #caller_location)                                                                       {        impl_VertexAttrib4Nsv(index, v);                                           debug_helper(loc, 0, index, v);                                                       }
 	VertexAttrib4Nub         :: #force_inline proc "c" (index: u32, x: u8, y: u8, z: u8, w: u8, loc := #caller_location)                                                    {        impl_VertexAttrib4Nub(index, x, y, z, w);                                  debug_helper(loc, 0, index, x, y, z, w);                                              }
-	VertexAttrib4Nubv        :: #force_inline proc "c" (index: u32, v: ^u8, loc := #caller_location)                                                                        {        impl_VertexAttrib4Nubv(index, v);                                          debug_helper(loc, 0, index, v);                                                       }
-	VertexAttrib4Nuiv        :: #force_inline proc "c" (index: u32, v: ^u32, loc := #caller_location)                                                                       {        impl_VertexAttrib4Nuiv(index, v);                                          debug_helper(loc, 0, index, v);                                                       }
-	VertexAttrib4Nusv        :: #force_inline proc "c" (index: u32, v: ^u16, loc := #caller_location)                                                                       {        impl_VertexAttrib4Nusv(index, v);                                          debug_helper(loc, 0, index, v);                                                       }
-	VertexAttrib4bv          :: #force_inline proc "c" (index: u32, v: ^i8, loc := #caller_location)                                                                        {        impl_VertexAttrib4bv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib4Nubv        :: #force_inline proc "c" (index: u32, v: [^]u8, loc := #caller_location)                                                                        {        impl_VertexAttrib4Nubv(index, v);                                          debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib4Nuiv        :: #force_inline proc "c" (index: u32, v: [^]u32, loc := #caller_location)                                                                       {        impl_VertexAttrib4Nuiv(index, v);                                          debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib4Nusv        :: #force_inline proc "c" (index: u32, v: [^]u16, loc := #caller_location)                                                                       {        impl_VertexAttrib4Nusv(index, v);                                          debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib4bv          :: #force_inline proc "c" (index: u32, v: [^]i8, loc := #caller_location)                                                                        {        impl_VertexAttrib4bv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
 	VertexAttrib4d           :: #force_inline proc "c" (index: u32, x: f64, y: f64, z: f64, w: f64, loc := #caller_location)                                                {        impl_VertexAttrib4d(index, x, y, z, w);                                    debug_helper(loc, 0, index, x, y, z, w);                                              }
-	VertexAttrib4dv          :: #force_inline proc "c" (index: u32, v: ^f64, loc := #caller_location)                                                                       {        impl_VertexAttrib4dv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib4dv          :: #force_inline proc "c" (index: u32, v: [^]f64, loc := #caller_location)                                                                       {        impl_VertexAttrib4dv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
 	VertexAttrib4f           :: #force_inline proc "c" (index: u32, x: f32, y: f32, z: f32, w: f32, loc := #caller_location)                                                {        impl_VertexAttrib4f(index, x, y, z, w);                                    debug_helper(loc, 0, index, x, y, z, w);                                              }
-	VertexAttrib4fv          :: #force_inline proc "c" (index: u32, v: ^f32, loc := #caller_location)                                                                       {        impl_VertexAttrib4fv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
-	VertexAttrib4iv          :: #force_inline proc "c" (index: u32, v: ^i32, loc := #caller_location)                                                                       {        impl_VertexAttrib4iv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib4fv          :: #force_inline proc "c" (index: u32, v: [^]f32, loc := #caller_location)                                                                       {        impl_VertexAttrib4fv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib4iv          :: #force_inline proc "c" (index: u32, v: [^]i32, loc := #caller_location)                                                                       {        impl_VertexAttrib4iv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
 	VertexAttrib4s           :: #force_inline proc "c" (index: u32, x: i16, y: i16, z: i16, w: i16, loc := #caller_location)                                                {        impl_VertexAttrib4s(index, x, y, z, w);                                    debug_helper(loc, 0, index, x, y, z, w);                                              }
-	VertexAttrib4sv          :: #force_inline proc "c" (index: u32, v: ^i16, loc := #caller_location)                                                                       {        impl_VertexAttrib4sv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
-	VertexAttrib4ubv         :: #force_inline proc "c" (index: u32, v: ^u8, loc := #caller_location)                                                                        {        impl_VertexAttrib4ubv(index, v);                                           debug_helper(loc, 0, index, v);                                                       }
-	VertexAttrib4uiv         :: #force_inline proc "c" (index: u32, v: ^u32, loc := #caller_location)                                                                       {        impl_VertexAttrib4uiv(index, v);                                           debug_helper(loc, 0, index, v);                                                       }
-	VertexAttrib4usv         :: #force_inline proc "c" (index: u32, v: ^u16, loc := #caller_location)                                                                       {        impl_VertexAttrib4usv(index, v);                                           debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib4sv          :: #force_inline proc "c" (index: u32, v: [^]i16, loc := #caller_location)                                                                       {        impl_VertexAttrib4sv(index, v);                                            debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib4ubv         :: #force_inline proc "c" (index: u32, v: [^]u8, loc := #caller_location)                                                                        {        impl_VertexAttrib4ubv(index, v);                                           debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib4uiv         :: #force_inline proc "c" (index: u32, v: [^]u32, loc := #caller_location)                                                                       {        impl_VertexAttrib4uiv(index, v);                                           debug_helper(loc, 0, index, v);                                                       }
+	VertexAttrib4usv         :: #force_inline proc "c" (index: u32, v: [^]u16, loc := #caller_location)                                                                       {        impl_VertexAttrib4usv(index, v);                                           debug_helper(loc, 0, index, v);                                                       }
 	VertexAttribPointer      :: #force_inline proc "c" (index: u32, size: i32, type: u32, normalized: bool, stride: i32, pointer: rawptr, loc := #caller_location)          {        impl_VertexAttribPointer(index, size, type, normalized, stride, pointer); debug_helper(loc, 0, index, size, type, normalized, stride, pointer);                }
 
 	// VERSION_2_1
@@ -1046,18 +1046,18 @@ when !ODIN_DEBUG {
 	VertexAttribI2ui                    :: #force_inline proc "c" (index: u32, x: u32, y: u32, loc := #caller_location)                                                                                             {        impl_VertexAttribI2ui(index, x, y);                                                         debug_helper(loc, 0, index, x, y);                                                                      }
 	VertexAttribI3ui                    :: #force_inline proc "c" (index: u32, x: u32, y: u32, z: u32, loc := #caller_location)                                                                                     {        impl_VertexAttribI3ui(index, x, y, z);                                                      debug_helper(loc, 0, index, x, y, z);                                                                   }
 	VertexAttribI4ui                    :: #force_inline proc "c" (index: u32, x: u32, y: u32, z: u32, w: u32, loc := #caller_location)                                                                             {        impl_VertexAttribI4ui(index, x, y, z, w);                                                   debug_helper(loc, 0, index, x, y, z, w);                                                                }
-	VertexAttribI1iv                    :: #force_inline proc "c" (index: u32, v: ^i32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI1iv(index, v);                                                            debug_helper(loc, 0, index, v);                                                                         }
-	VertexAttribI2iv                    :: #force_inline proc "c" (index: u32, v: ^i32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI2iv(index, v);                                                            debug_helper(loc, 0, index, v);                                                                         }
-	VertexAttribI3iv                    :: #force_inline proc "c" (index: u32, v: ^i32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI3iv(index, v);                                                            debug_helper(loc, 0, index, v);                                                                         }
-	VertexAttribI4iv                    :: #force_inline proc "c" (index: u32, v: ^i32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI4iv(index, v);                                                            debug_helper(loc, 0, index, v);                                                                         }
-	VertexAttribI1uiv                   :: #force_inline proc "c" (index: u32, v: ^u32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI1uiv(index, v);                                                           debug_helper(loc, 0, index, v);                                                                         }
-	VertexAttribI2uiv                   :: #force_inline proc "c" (index: u32, v: ^u32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI2uiv(index, v);                                                           debug_helper(loc, 0, index, v);                                                                         }
-	VertexAttribI3uiv                   :: #force_inline proc "c" (index: u32, v: ^u32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI3uiv(index, v);                                                           debug_helper(loc, 0, index, v);                                                                         }
-	VertexAttribI4uiv                   :: #force_inline proc "c" (index: u32, v: ^u32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI4uiv(index, v);                                                           debug_helper(loc, 0, index, v);                                                                         }
-	VertexAttribI4bv                    :: #force_inline proc "c" (index: u32, v: ^i8, loc := #caller_location)                                                                                                     {        impl_VertexAttribI4bv(index, v);                                                            debug_helper(loc, 0, index, v);                                                                         }
-	VertexAttribI4sv                    :: #force_inline proc "c" (index: u32, v: ^i16, loc := #caller_location)                                                                                                    {        impl_VertexAttribI4sv(index, v);                                                            debug_helper(loc, 0, index, v);                                                                         }
-	VertexAttribI4ubv                   :: #force_inline proc "c" (index: u32, v: ^u8, loc := #caller_location)                                                                                                     {        impl_VertexAttribI4ubv(index, v);                                                           debug_helper(loc, 0, index, v);                                                                         }
-	VertexAttribI4usv                   :: #force_inline proc "c" (index: u32, v: ^u16, loc := #caller_location)                                                                                                    {        impl_VertexAttribI4usv(index, v);                                                           debug_helper(loc, 0, index, v);                                                                         }
+	VertexAttribI1iv                    :: #force_inline proc "c" (index: u32, v: [^]i32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI1iv(index, v);                                                            debug_helper(loc, 0, index, v);                                                                         }
+	VertexAttribI2iv                    :: #force_inline proc "c" (index: u32, v: [^]i32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI2iv(index, v);                                                            debug_helper(loc, 0, index, v);                                                                         }
+	VertexAttribI3iv                    :: #force_inline proc "c" (index: u32, v: [^]i32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI3iv(index, v);                                                            debug_helper(loc, 0, index, v);                                                                         }
+	VertexAttribI4iv                    :: #force_inline proc "c" (index: u32, v: [^]i32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI4iv(index, v);                                                            debug_helper(loc, 0, index, v);                                                                         }
+	VertexAttribI1uiv                   :: #force_inline proc "c" (index: u32, v: [^]u32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI1uiv(index, v);                                                           debug_helper(loc, 0, index, v);                                                                         }
+	VertexAttribI2uiv                   :: #force_inline proc "c" (index: u32, v: [^]u32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI2uiv(index, v);                                                           debug_helper(loc, 0, index, v);                                                                         }
+	VertexAttribI3uiv                   :: #force_inline proc "c" (index: u32, v: [^]u32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI3uiv(index, v);                                                           debug_helper(loc, 0, index, v);                                                                         }
+	VertexAttribI4uiv                   :: #force_inline proc "c" (index: u32, v: [^]u32, loc := #caller_location)                                                                                                    {        impl_VertexAttribI4uiv(index, v);                                                           debug_helper(loc, 0, index, v);                                                                         }
+	VertexAttribI4bv                    :: #force_inline proc "c" (index: u32, v: [^]i8, loc := #caller_location)                                                                                                     {        impl_VertexAttribI4bv(index, v);                                                            debug_helper(loc, 0, index, v);                                                                         }
+	VertexAttribI4sv                    :: #force_inline proc "c" (index: u32, v: [^]i16, loc := #caller_location)                                                                                                    {        impl_VertexAttribI4sv(index, v);                                                            debug_helper(loc, 0, index, v);                                                                         }
+	VertexAttribI4ubv                   :: #force_inline proc "c" (index: u32, v: [^]u8, loc := #caller_location)                                                                                                     {        impl_VertexAttribI4ubv(index, v);                                                           debug_helper(loc, 0, index, v);                                                                         }
+	VertexAttribI4usv                   :: #force_inline proc "c" (index: u32, v: [^]u16, loc := #caller_location)                                                                                                    {        impl_VertexAttribI4usv(index, v);                                                           debug_helper(loc, 0, index, v);                                                                         }
 	GetUniformuiv                       :: #force_inline proc "c" (program: u32, location: i32, params: [^]u32, loc := #caller_location)                                                                            {        impl_GetUniformuiv(program, location, params);                                              debug_helper(loc, 0, program, location, params);                                                        }
 	BindFragDataLocation                :: #force_inline proc "c" (program: u32, color: u32, name: cstring, loc := #caller_location)                                                                                {        impl_BindFragDataLocation(program, color, name);                                            debug_helper(loc, 0, program, color, name);                                                             }
 	GetFragDataLocation                 :: #force_inline proc "c" (program: u32, name: cstring, loc := #caller_location) -> i32                                                                                     { ret := impl_GetFragDataLocation(program, name);                                                    debug_helper(loc, 1, ret, program, name);                                                   return ret; }
@@ -1321,18 +1321,18 @@ when !ODIN_DEBUG {
 	VertexAttribL2d           :: #force_inline proc "c" (index: u32, x: f64, y: f64, loc := #caller_location)                                                   {        impl_VertexAttribL2d(index, x, y);                                            debug_helper(loc, 0, index, x, y);                                                }
 	VertexAttribL3d           :: #force_inline proc "c" (index: u32, x: f64, y: f64, z: f64, loc := #caller_location)                                           {        impl_VertexAttribL3d(index, x, y, z);                                         debug_helper(loc, 0, index, x, y, z);                                             }
 	VertexAttribL4d           :: #force_inline proc "c" (index: u32, x: f64, y: f64, z: f64, w: f64, loc := #caller_location)                                   {        impl_VertexAttribL4d(index, x, y, z, w);                                      debug_helper(loc, 0, index, x, y, z, w);                                          }
-	VertexAttribL1dv          :: #force_inline proc "c" (index: u32, v: ^f64, loc := #caller_location)                                                          {        impl_VertexAttribL1dv(index, v);                                              debug_helper(loc, 0, index, v);                                                   }
-	VertexAttribL2dv          :: #force_inline proc "c" (index: u32, v: ^f64, loc := #caller_location)                                                          {        impl_VertexAttribL2dv(index, v);                                              debug_helper(loc, 0, index, v);                                                   }
-	VertexAttribL3dv          :: #force_inline proc "c" (index: u32, v: ^f64, loc := #caller_location)                                                          {        impl_VertexAttribL3dv(index, v);                                              debug_helper(loc, 0, index, v);                                                   }
-	VertexAttribL4dv          :: #force_inline proc "c" (index: u32, v: ^f64, loc := #caller_location)                                                          {        impl_VertexAttribL4dv(index, v);                                              debug_helper(loc, 0, index, v);                                                   }
+	VertexAttribL1dv          :: #force_inline proc "c" (index: u32, v: [^]f64, loc := #caller_location)                                                          {        impl_VertexAttribL1dv(index, v);                                              debug_helper(loc, 0, index, v);                                                   }
+	VertexAttribL2dv          :: #force_inline proc "c" (index: u32, v: [^]f64, loc := #caller_location)                                                          {        impl_VertexAttribL2dv(index, v);                                              debug_helper(loc, 0, index, v);                                                   }
+	VertexAttribL3dv          :: #force_inline proc "c" (index: u32, v: [^]f64, loc := #caller_location)                                                          {        impl_VertexAttribL3dv(index, v);                                              debug_helper(loc, 0, index, v);                                                   }
+	VertexAttribL4dv          :: #force_inline proc "c" (index: u32, v: [^]f64, loc := #caller_location)                                                          {        impl_VertexAttribL4dv(index, v);                                              debug_helper(loc, 0, index, v);                                                   }
 	VertexAttribLPointer      :: #force_inline proc "c" (index: u32, size: i32, type: u32, stride: i32, pointer: rawptr, loc := #caller_location)               {        impl_VertexAttribLPointer(index, size, type, stride, pointer);               debug_helper(loc, 0, index, size, type, stride, pointer);                        }
 	GetVertexAttribLdv        :: #force_inline proc "c" (index: u32, pname: u32, params: [^]f64, loc := #caller_location)                                       {        impl_GetVertexAttribLdv(index, pname, params);                                debug_helper(loc, 0, index, pname, params);                                       }
 	ViewportArrayv            :: #force_inline proc "c" (first: u32, count: i32, v: [^]f32, loc := #caller_location)                                            {        impl_ViewportArrayv(first, count, v);                                         debug_helper(loc, 0, first, count, v);                                            }
 	ViewportIndexedf          :: #force_inline proc "c" (index: u32, x: f32, y: f32, w: f32, h: f32, loc := #caller_location)                                   {        impl_ViewportIndexedf(index, x, y, w, h);                                     debug_helper(loc, 0, index, x, y, w, h);                                          }
-	ViewportIndexedfv         :: #force_inline proc "c" (index: u32, v: ^f32, loc := #caller_location)                                                          {        impl_ViewportIndexedfv(index, v);                                             debug_helper(loc, 0, index, v);                                                   }
+	ViewportIndexedfv         :: #force_inline proc "c" (index: u32, v: [^]f32, loc := #caller_location)                                                          {        impl_ViewportIndexedfv(index, v);                                             debug_helper(loc, 0, index, v);                                                   }
 	ScissorArrayv             :: #force_inline proc "c" (first: u32, count: i32, v: [^]i32, loc := #caller_location)                                            {        impl_ScissorArrayv(first, count, v);                                          debug_helper(loc, 0, first, count, v);                                            }
 	ScissorIndexed            :: #force_inline proc "c" (index: u32, left: i32, bottom: i32, width: i32, height: i32, loc := #caller_location)                  {        impl_ScissorIndexed(index, left, bottom, width, height);                      debug_helper(loc, 0, index, left, bottom, width, height);                         }
-	ScissorIndexedv           :: #force_inline proc "c" (index: u32, v: ^i32, loc := #caller_location)                                                          {        impl_ScissorIndexedv(index, v);                                               debug_helper(loc, 0, index, v);                                                   }
+	ScissorIndexedv           :: #force_inline proc "c" (index: u32, v: [^]i32, loc := #caller_location)                                                          {        impl_ScissorIndexedv(index, v);                                               debug_helper(loc, 0, index, v);                                                   }
 	DepthRangeArrayv          :: #force_inline proc "c" (first: u32, count: i32, v: [^]f64, loc := #caller_location)                                            {        impl_DepthRangeArrayv(first, count, v);                                       debug_helper(loc, 0, first, count, v);                                            }
 	DepthRangeIndexed         :: #force_inline proc "c" (index: u32, n: f64, f: f64, loc := #caller_location)                                                   {        impl_DepthRangeIndexed(index, n, f);                                          debug_helper(loc, 0, index, n, f);                                                }
 	GetFloati_v               :: #force_inline proc "c" (target: u32, index: u32, data: ^f32, loc := #caller_location)                                          {        impl_GetFloati_v(target, index, data);                                        debug_helper(loc, 0, target, index, data);                                        }
@@ -1518,13 +1518,13 @@ when !ODIN_DEBUG {
 	GetnUniformiv                            :: #force_inline proc "c" (program: u32, location: i32, bufSize: i32, params: [^]i32, loc := #caller_location)                                                                                                          {        impl_GetnUniformiv(program, location, bufSize, params);                                                                            debug_helper(loc, 0, program, location, bufSize, params);                                                                                 }
 	GetnUniformuiv                           :: #force_inline proc "c" (program: u32, location: i32, bufSize: i32, params: [^]u32, loc := #caller_location)                                                                                                          {        impl_GetnUniformuiv(program, location, bufSize, params);                                                                           debug_helper(loc, 0, program, location, bufSize, params);                                                                                 }
 	ReadnPixels                              :: #force_inline proc "c" (x: i32, y: i32, width: i32, height: i32, format: u32, type: u32, bufSize: i32, data: rawptr, loc := #caller_location)                                                                        {        impl_ReadnPixels(x, y, width, height, format, type, bufSize, data);                                                               debug_helper(loc, 0, x, y, width, height, format, type, bufSize, data);                                                                  }
-	GetnMapdv                                :: #force_inline proc "c" (target: u32, query: u32, bufSize: i32, v: ^f64, loc := #caller_location)                                                                                                                     {        impl_GetnMapdv(target, query, bufSize, v);                                                                                         debug_helper(loc, 0, target, query, bufSize, v);                                                                                          }
-	GetnMapfv                                :: #force_inline proc "c" (target: u32, query: u32, bufSize: i32, v: ^f32, loc := #caller_location)                                                                                                                     {        impl_GetnMapfv(target, query, bufSize, v);                                                                                         debug_helper(loc, 0, target, query, bufSize, v);                                                                                          }
-	GetnMapiv                                :: #force_inline proc "c" (target: u32, query: u32, bufSize: i32, v: ^i32, loc := #caller_location)                                                                                                                     {        impl_GetnMapiv(target, query, bufSize, v);                                                                                         debug_helper(loc, 0, target, query, bufSize, v);                                                                                          }
+	GetnMapdv                                :: #force_inline proc "c" (target: u32, query: u32, bufSize: i32, v: [^]f64, loc := #caller_location)                                                                                                                     {        impl_GetnMapdv(target, query, bufSize, v);                                                                                         debug_helper(loc, 0, target, query, bufSize, v);                                                                                          }
+	GetnMapfv                                :: #force_inline proc "c" (target: u32, query: u32, bufSize: i32, v: [^]f32, loc := #caller_location)                                                                                                                     {        impl_GetnMapfv(target, query, bufSize, v);                                                                                         debug_helper(loc, 0, target, query, bufSize, v);                                                                                          }
+	GetnMapiv                                :: #force_inline proc "c" (target: u32, query: u32, bufSize: i32, v: [^]i32, loc := #caller_location)                                                                                                                     {        impl_GetnMapiv(target, query, bufSize, v);                                                                                         debug_helper(loc, 0, target, query, bufSize, v);                                                                                          }
 	GetnPixelMapusv                          :: #force_inline proc "c" (map_: u32, bufSize: i32, values: [^]u16, loc := #caller_location)                                                                                                                            {        impl_GetnPixelMapusv(map_, bufSize, values);                                                                                       debug_helper(loc, 0, map_, bufSize, values);                                                                                              }
 	GetnPixelMapfv                           :: #force_inline proc "c" (map_: u32, bufSize: i32, values: [^]f32, loc := #caller_location)                                                                                                                            {        impl_GetnPixelMapfv(map_, bufSize, values);                                                                                        debug_helper(loc, 0, map_, bufSize, values);                                                                                              }
 	GetnPixelMapuiv                          :: #force_inline proc "c" (map_: u32, bufSize: i32, values: [^]u32, loc := #caller_location)                                                                                                                            {        impl_GetnPixelMapuiv(map_, bufSize, values);                                                                                       debug_helper(loc, 0, map_, bufSize, values);                                                                                              }
-	GetnPolygonStipple                       :: #force_inline proc "c" (bufSize: i32, pattern: ^u8, loc := #caller_location)                                                                                                                                         {        impl_GetnPolygonStipple(bufSize, pattern);                                                                                         debug_helper(loc, 0, bufSize, pattern);                                                                                                   }
+	GetnPolygonStipple                       :: #force_inline proc "c" (bufSize: i32, pattern: [^]u8, loc := #caller_location)                                                                                                                                         {        impl_GetnPolygonStipple(bufSize, pattern);                                                                                         debug_helper(loc, 0, bufSize, pattern);                                                                                                   }
 	GetnColorTable                           :: #force_inline proc "c" (target: u32, format: u32, type: u32, bufSize: i32, table: rawptr, loc := #caller_location)                                                                                                   {        impl_GetnColorTable(target, format, type, bufSize, table);                                                                        debug_helper(loc, 0, target, format, type, bufSize, table);                                                                                }
 	GetnConvolutionFilter                    :: #force_inline proc "c" (target: u32, format: u32, type: u32, bufSize: i32, image: rawptr, loc := #caller_location)                                                                                                   {        impl_GetnConvolutionFilter(target, format, type, bufSize, image);                                                                 debug_helper(loc, 0, target, format, type, bufSize, image);                                                                                }
 	GetnSeparableFilter                      :: #force_inline proc "c" (target: u32, format: u32, type: u32, rowBufSize: i32, row: rawptr, columnBufSize: i32, column: rawptr, span: rawptr, loc := #caller_location)                                                {        impl_GetnSeparableFilter(target, format, type, rowBufSize, row, columnBufSize, column, span);                                     debug_helper(loc, 0, target, format, type, rowBufSize, row, columnBufSize, column, span);                                                  }