diff --git a/lime/_backend/native/NativeCFFI.hx b/lime/_backend/native/NativeCFFI.hx index d63a23864..b28375a48 100644 --- a/lime/_backend/native/NativeCFFI.hx +++ b/lime/_backend/native/NativeCFFI.hx @@ -882,6 +882,7 @@ class NativeCFFI { #end #if (lime_cffi && !macro && lime_opengl) + #if !hl @:cffi private static function lime_gl_active_texture (texture:Int):Void; @:cffi private static function lime_gl_attach_shader (program:Int, shader:Int):Void; @:cffi private static function lime_gl_begin_query (target:Int, query:Int):Void; @@ -1151,6 +1152,277 @@ class NativeCFFI { @:cffi private static function lime_gl_vertex_attrib_pointer (indx:Int, size:Int, type:Int, normalized:Bool, stride:Int, offset:DataPointer):Void; @:cffi private static function lime_gl_viewport (x:Int, y:Int, width:Int, height:Int):Void; @:cffi private static function lime_gl_wait_sync (sync:CFFIPointer, flags:Int, timeoutA:Int, timeoutB:Int):Void; + #else + @:hlNative("lime", "lime_gl_active_texture") private static function lime_gl_active_texture (texture:Int):Void {} + @:hlNative("lime", "lime_gl_attach_shader") private static function lime_gl_attach_shader (program:Int, shader:Int):Void {} + @:hlNative("lime", "lime_gl_begin_query") private static function lime_gl_begin_query (target:Int, query:Int):Void {} + @:hlNative("lime", "lime_gl_begin_transform_feedback") private static function lime_gl_begin_transform_feedback (primitiveNode:Int):Void {} + @:hlNative("lime", "lime_gl_bind_attrib_location") private static function lime_gl_bind_attrib_location (program:Int, index:Int, name:String):Void {} + @:hlNative("lime", "lime_gl_bind_buffer") private static function lime_gl_bind_buffer (target:Int, buffer:Int):Void {} + @:hlNative("lime", "lime_gl_bind_buffer_base") private static function lime_gl_bind_buffer_base (target:Int, index:Int, buffer:Int):Void {} + @:hlNative("lime", "lime_gl_bind_buffer_range") private static function lime_gl_bind_buffer_range (target:Int, index:Int, buffer:Int, offset:DataPointer, size:Int):Void {} + @:hlNative("lime", "lime_gl_bind_framebuffer") private static function lime_gl_bind_framebuffer (target:Int, framebuffer:Int):Void {} + @:hlNative("lime", "lime_gl_bind_renderbuffer") private static function lime_gl_bind_renderbuffer (target:Int, renderbuffer:Int):Void {} + @:hlNative("lime", "lime_gl_bind_sampler") private static function lime_gl_bind_sampler (target:Int, sampler:Int):Void {} + @:hlNative("lime", "lime_gl_bind_texture") private static function lime_gl_bind_texture (target:Int, texture:Int):Void {} + @:hlNative("lime", "lime_gl_bind_transform_feedback") private static function lime_gl_bind_transform_feedback (target:Int, transformFeedback:Int):Void {} + @:hlNative("lime", "lime_gl_bind_vertex_array") private static function lime_gl_bind_vertex_array (vertexArray:Int):Void {} + @:hlNative("lime", "lime_gl_blend_color") private static function lime_gl_blend_color (red:hl.F32, green:hl.F32, blue:hl.F32, alpha:hl.F32):Void {} + @:hlNative("lime", "lime_gl_blend_equation") private static function lime_gl_blend_equation (mode:Int):Void {} + @:hlNative("lime", "lime_gl_blend_equation_separate") private static function lime_gl_blend_equation_separate (modeRGB:Int, modeAlpha:Int):Void {} + @:hlNative("lime", "lime_gl_blend_func") private static function lime_gl_blend_func (sfactor:Int, dfactor:Int):Void {} + @:hlNative("lime", "lime_gl_blend_func_separate") private static function lime_gl_blend_func_separate (srcRGB:Int, dstRGB:Int, srcAlpha:Int, dstAlpha:Int):Void {} + @:hlNative("lime", "lime_gl_blit_framebuffer") private static function lime_gl_blit_framebuffer (srcX0:Int, srcY0:Int, srcX1:Int, srcY1:Int, dstX0:Int, dstY0:Int, dstX1:Int, dstY1:Int, mask:Int, filter:Int):Void {} + @:hlNative("lime", "lime_gl_buffer_data") private static function lime_gl_buffer_data (target:Int, size:Int, srcData:DataPointer, usage:Int):Void {} + @:hlNative("lime", "lime_gl_buffer_sub_data") private static function lime_gl_buffer_sub_data (target:Int, offset:Int, size:Int, srcData:DataPointer):Void {} + @:hlNative("lime", "lime_gl_check_framebuffer_status") private static function lime_gl_check_framebuffer_status (target:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_clear") private static function lime_gl_clear (mask:Int):Void {} + @:hlNative("lime", "lime_gl_clear_bufferfi") private static function lime_gl_clear_bufferfi (buffer:Int, drawBuffer:Int, depth:hl.F32, stencil:Int):Void {} + @:hlNative("lime", "lime_gl_clear_bufferfv") private static function lime_gl_clear_bufferfv (buffer:Int, drawBuffer:Int, data:DataPointer):Void {} + @:hlNative("lime", "lime_gl_clear_bufferiv") private static function lime_gl_clear_bufferiv (buffer:Int, drawBuffer:Int, data:DataPointer):Void {} + @:hlNative("lime", "lime_gl_clear_bufferuiv") private static function lime_gl_clear_bufferuiv (buffer:Int, drawBuffer:Int, data:DataPointer):Void {} + @:hlNative("lime", "lime_gl_client_wait_sync") private static function lime_gl_client_wait_sync (sync:CFFIPointer, flags:Int, timeoutA:Int, timeoutB:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_clear_color") private static function lime_gl_clear_color (red:hl.F32, green:hl.F32, blue:hl.F32, alpha:hl.F32):Void {} + @:hlNative("lime", "lime_gl_clear_depthf") private static function lime_gl_clear_depthf (depth:hl.F32):Void {} + @:hlNative("lime", "lime_gl_clear_stencil") private static function lime_gl_clear_stencil (s:Int):Void {} + @:hlNative("lime", "lime_gl_color_mask") private static function lime_gl_color_mask (red:Bool, green:Bool, blue:Bool, alpha:Bool):Void {} + @:hlNative("lime", "lime_gl_compile_shader") private static function lime_gl_compile_shader (shader:Int):Void {} + @:hlNative("lime", "lime_gl_compressed_tex_image_2d") private static function lime_gl_compressed_tex_image_2d (target:Int, level:Int, internalformat:Int, width:Int, height:Int, border:Int, imageSize:Int, data:DataPointer):Void {} + @:hlNative("lime", "lime_gl_compressed_tex_image_3d") private static function lime_gl_compressed_tex_image_3d (target:Int, level:Int, internalformat:Int, width:Int, height:Int, depth:Int, border:Int, imageSize:Int, data:DataPointer):Void {} + @:hlNative("lime", "lime_gl_compressed_tex_sub_image_2d") private static function lime_gl_compressed_tex_sub_image_2d (target:Int, level:Int, xoffset:Int, yoffset:Int, width:Int, height:Int, format:Int, imageSize:Int, data:DataPointer):Void {} + @:hlNative("lime", "lime_gl_compressed_tex_sub_image_3d") private static function lime_gl_compressed_tex_sub_image_3d (target:Int, level:Int, xoffset:Int, yoffset:Int, zoffset:Int, width:Int, height:Int, depth:Int, format:Int, imageSize:Int, data:DataPointer):Void {} + @:hlNative("lime", "lime_gl_copy_buffer_sub_data") private static function lime_gl_copy_buffer_sub_data (readTarget:Int, writeTarget:Int, readOffset:DataPointer, writeOffset:DataPointer, size:Int):Void {} + @:hlNative("lime", "lime_gl_copy_tex_image_2d") private static function lime_gl_copy_tex_image_2d (target:Int, level:Int, internalformat:Int, x:Int, y:Int, width:Int, height:Int, border:Int):Void {} + @:hlNative("lime", "lime_gl_copy_tex_sub_image_2d") private static function lime_gl_copy_tex_sub_image_2d (target:Int, level:Int, xoffset:Int, yoffset:Int, x:Int, y:Int, width:Int, height:Int):Void {} + @:hlNative("lime", "lime_gl_copy_tex_sub_image_3d") private static function lime_gl_copy_tex_sub_image_3d (target:Int, level:Int, xoffset:Int, yoffset:Int, zoffset:Int, x:Int, y:Int, width:Int, height:Int):Void {} + @:hlNative("lime", "lime_gl_create_buffer") private static function lime_gl_create_buffer ():Int { return 0; } + @:hlNative("lime", "lime_gl_create_framebuffer") private static function lime_gl_create_framebuffer ():Int { return 0; } + @:hlNative("lime", "lime_gl_create_program") private static function lime_gl_create_program ():Int { return 0; } + @:hlNative("lime", "lime_gl_create_query") private static function lime_gl_create_query ():Int { return 0; } + @:hlNative("lime", "lime_gl_create_renderbuffer") private static function lime_gl_create_renderbuffer ():Int { return 0; } + @:hlNative("lime", "lime_gl_create_sampler") private static function lime_gl_create_sampler ():Int { return 0; } + @:hlNative("lime", "lime_gl_create_shader") private static function lime_gl_create_shader (type:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_create_texture") private static function lime_gl_create_texture ():Int { return 0; } + @:hlNative("lime", "lime_gl_create_transform_feedback") private static function lime_gl_create_transform_feedback ():Int { return 0; } + @:hlNative("lime", "lime_gl_create_vertex_array") private static function lime_gl_create_vertex_array ():Int { return 0; } + @:hlNative("lime", "lime_gl_cull_face") private static function lime_gl_cull_face (mode:Int):Void {} + @:hlNative("lime", "lime_gl_delete_buffer") private static function lime_gl_delete_buffer (buffer:Int):Void {} + @:hlNative("lime", "lime_gl_delete_framebuffer") private static function lime_gl_delete_framebuffer (framebuffer:Int):Void {} + @:hlNative("lime", "lime_gl_delete_program") private static function lime_gl_delete_program (program:Int):Void {} + @:hlNative("lime", "lime_gl_delete_query") private static function lime_gl_delete_query (query:Int):Void {} + @:hlNative("lime", "lime_gl_delete_renderbuffer") private static function lime_gl_delete_renderbuffer (renderbuffer:Int):Void {} + @:hlNative("lime", "lime_gl_delete_sampler") private static function lime_gl_delete_sampler (sampler:Int):Void {} + @:hlNative("lime", "lime_gl_delete_shader") private static function lime_gl_delete_shader (shader:Int):Void {} + @:hlNative("lime", "lime_gl_delete_sync") private static function lime_gl_delete_sync (sync:CFFIPointer):Void {} + @:hlNative("lime", "lime_gl_delete_texture") private static function lime_gl_delete_texture (texture:Int):Void {} + @:hlNative("lime", "lime_gl_delete_transform_feedback") private static function lime_gl_delete_transform_feedback (transformFeedback:Int):Void {} + @:hlNative("lime", "lime_gl_delete_vertex_array") private static function lime_gl_delete_vertex_array (vertexArray:Int):Void {} + @:hlNative("lime", "lime_gl_depth_func") private static function lime_gl_depth_func (func:Int):Void {} + @:hlNative("lime", "lime_gl_depth_mask") private static function lime_gl_depth_mask (flag:Bool):Void {} + @:hlNative("lime", "lime_gl_depth_rangef") private static function lime_gl_depth_rangef (zNear:hl.F32, zFar:hl.F32):Void {} + @:hlNative("lime", "lime_gl_detach_shader") private static function lime_gl_detach_shader (program:Int, shader:Int):Void {} + @:hlNative("lime", "lime_gl_disable") private static function lime_gl_disable (cap:Int):Void {} + @:hlNative("lime", "lime_gl_disable_vertex_attrib_array") private static function lime_gl_disable_vertex_attrib_array (index:Int):Void {} + @:hlNative("lime", "lime_gl_draw_arrays") private static function lime_gl_draw_arrays (mode:Int, first:Int, count:Int):Void {} + @:hlNative("lime", "lime_gl_draw_arrays_instanced") private static function lime_gl_draw_arrays_instanced (mode:Int, first:Int, count:Int, instanceCount:Int):Void {} + @:hlNative("lime", "lime_gl_draw_buffers") private static function lime_gl_draw_buffers (buffers:hl.NativeArray):Void {} + @:hlNative("lime", "lime_gl_draw_elements") private static function lime_gl_draw_elements (mode:Int, count:Int, type:Int, offset:DataPointer):Void {} + @:hlNative("lime", "lime_gl_draw_elements_instanced") private static function lime_gl_draw_elements_instanced (mode:Int, count:Int, type:Int, offset:DataPointer, instanceCount:Int):Void {} + @:hlNative("lime", "lime_gl_draw_range_elements") private static function lime_gl_draw_range_elements (mode:Int, start:Int, end:Int, count:Int, type:Int, offset:DataPointer):Void {} + @:hlNative("lime", "lime_gl_enable") private static function lime_gl_enable (cap:Int):Void {} + @:hlNative("lime", "lime_gl_enable_vertex_attrib_array") private static function lime_gl_enable_vertex_attrib_array (index:Int):Void {} + @:hlNative("lime", "lime_gl_end_query") private static function lime_gl_end_query (target:Int):Void {} + @:hlNative("lime", "lime_gl_end_transform_feedback") private static function lime_gl_end_transform_feedback ():Void {} + @:hlNative("lime", "lime_gl_fence_sync") private static function lime_gl_fence_sync (condition:Int, flags:Int):CFFIPointer { return null; } + @:hlNative("lime", "lime_gl_finish") private static function lime_gl_finish ():Void {} + @:hlNative("lime", "lime_gl_flush") private static function lime_gl_flush ():Void {} + @:hlNative("lime", "lime_gl_framebuffer_renderbuffer") private static function lime_gl_framebuffer_renderbuffer (target:Int, attachment:Int, renderbuffertarget:Int, renderbuffer:Int):Void {} + @:hlNative("lime", "lime_gl_framebuffer_texture2D") private static function lime_gl_framebuffer_texture2D (target:Int, attachment:Int, textarget:Int, texture:Int, level:Int):Void {} + @:hlNative("lime", "lime_gl_framebuffer_texture_layer") private static function lime_gl_framebuffer_texture_layer (target:Int, attachment:Int, texture:Int, level:Int, layer:Int):Void {} + @:hlNative("lime", "lime_gl_front_face") private static function lime_gl_front_face (mode:Int):Void {} + @:hlNative("lime", "lime_gl_generate_mipmap") private static function lime_gl_generate_mipmap (target:Int):Void {} + @:hlNative("lime", "lime_gl_get_active_attrib") private static function lime_gl_get_active_attrib (program:Int, index:Int):Dynamic { return null; } + @:hlNative("lime", "lime_gl_get_active_uniform") private static function lime_gl_get_active_uniform (program:Int, index:Int):Dynamic { return null; } + @:hlNative("lime", "lime_gl_get_active_uniform_blocki") private static function lime_gl_get_active_uniform_blocki (program:Int, uniformBlockIndex:Int, pname:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_active_uniform_blockiv") private static function lime_gl_get_active_uniform_blockiv (program:Int, uniformBlockIndex:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_active_uniform_block_name") private static function lime_gl_get_active_uniform_block_name (program:Int, uniformBlockIndex:Int):hl.Bytes { return null; } + @:hlNative("lime", "lime_gl_get_active_uniformsiv") private static function lime_gl_get_active_uniformsiv (program:Int, uniformIndices:hl.NativeArray, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_attached_shaders") private static function lime_gl_get_attached_shaders (program:Int):hl.NativeArray { return null; } + @:hlNative("lime", "lime_gl_get_attrib_location") private static function lime_gl_get_attrib_location (program:Int, name:String):Int { return 0; } + @:hlNative("lime", "lime_gl_get_boolean") private static function lime_gl_get_boolean (pname:Int):Bool { return false; } + @:hlNative("lime", "lime_gl_get_booleanv") private static function lime_gl_get_booleanv (pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_buffer_parameteri") private static function lime_gl_get_buffer_parameteri (target:Int, pname:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_buffer_parameteri64v") private static function lime_gl_get_buffer_parameteri64v (target:Int, index:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_buffer_parameteriv") private static function lime_gl_get_buffer_parameteriv (target:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_buffer_pointerv") private static function lime_gl_get_buffer_pointerv (target:Int, pname:Int):DataPointer { return null; } + @:hlNative("lime", "lime_gl_get_buffer_sub_data") private static function lime_gl_get_buffer_sub_data (target:Int, offset:DataPointer, size:Int, data:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_context_attributes") private static function lime_gl_get_context_attributes ():Dynamic { return null; } + @:hlNative("lime", "lime_gl_get_error") private static function lime_gl_get_error ():Int { return 0; } + @:hlNative("lime", "lime_gl_get_extension") private static function lime_gl_get_extension (name:String):CFFIPointer { return null; } + @:hlNative("lime", "lime_gl_get_float") private static function lime_gl_get_float (pname:Int):hl.F32 { return 0; } + @:hlNative("lime", "lime_gl_get_floatv") private static function lime_gl_get_floatv (pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_frag_data_location") private static function lime_gl_get_frag_data_location (program:Int, name:String):Int { return 0; } + @:hlNative("lime", "lime_gl_get_framebuffer_attachment_parameteri") private static function lime_gl_get_framebuffer_attachment_parameteri (target:Int, attachment:Int, pname:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_framebuffer_attachment_parameteriv") private static function lime_gl_get_framebuffer_attachment_parameteriv (target:Int, attachment:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_integer") private static function lime_gl_get_integer (pname:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_integer64v") private static function lime_gl_get_integer64v (pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_integer64i_v") private static function lime_gl_get_integer64i_v (pname:Int, index:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_integerv") private static function lime_gl_get_integerv (pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_integeri_v") private static function lime_gl_get_integeri_v (pname:Int, index:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_internalformativ") private static function lime_gl_get_internalformativ (target:Int, internalformat:Int, pname:Int, bufSize:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_program_binary") private static function lime_gl_get_program_binary (program:Int, binaryFormat:Int, bytes:Dynamic):Void {} + @:hlNative("lime", "lime_gl_get_program_info_log") private static function lime_gl_get_program_info_log (program:Int):hl.Bytes { return null; } + @:hlNative("lime", "lime_gl_get_programi") private static function lime_gl_get_programi (program:Int, pname:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_programiv") private static function lime_gl_get_programiv (program:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_queryi") private static function lime_gl_get_queryi (target:Int, pname:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_queryiv") private static function lime_gl_get_queryiv (target:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_query_objectui") private static function lime_gl_get_query_objectui (target:Int, pname:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_query_objectuiv") private static function lime_gl_get_query_objectuiv (target:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_renderbuffer_parameteri") private static function lime_gl_get_renderbuffer_parameteri (target:Int, pname:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_renderbuffer_parameteriv") private static function lime_gl_get_renderbuffer_parameteriv (target:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_sampler_parameterf") private static function lime_gl_get_sampler_parameterf (target:Int, pname:Int):hl.F32 { return 0; } + @:hlNative("lime", "lime_gl_get_sampler_parameterfv") private static function lime_gl_get_sampler_parameterfv (target:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_sampler_parameteri") private static function lime_gl_get_sampler_parameteri (target:Int, pname:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_sampler_parameteriv") private static function lime_gl_get_sampler_parameteriv (target:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_shader_info_log") private static function lime_gl_get_shader_info_log (shader:Int):hl.Bytes { return null; } + @:hlNative("lime", "lime_gl_get_shaderi") private static function lime_gl_get_shaderi (shader:Int, pname:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_shaderiv") private static function lime_gl_get_shaderiv (shader:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_shader_precision_format") private static function lime_gl_get_shader_precision_format (shadertype:Int, precisiontype:Int):Dynamic { return null; } + @:hlNative("lime", "lime_gl_get_shader_source") private static function lime_gl_get_shader_source (shader:Int):hl.Bytes { return null; } + @:hlNative("lime", "lime_gl_get_string") private static function lime_gl_get_string (pname:Int):Dynamic { return null; } + @:hlNative("lime", "lime_gl_get_stringi") private static function lime_gl_get_stringi (pname:Int, index:Int):hl.Bytes { return null; } + @:hlNative("lime", "lime_gl_get_sync_parameteri") private static function lime_gl_get_sync_parameteri (sync:CFFIPointer, pname:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_sync_parameteriv") private static function lime_gl_get_sync_parameteriv (sync:CFFIPointer, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_tex_parameterf") private static function lime_gl_get_tex_parameterf (target:Int, pname:Int):hl.F32 { return 0; } + @:hlNative("lime", "lime_gl_get_tex_parameterfv") private static function lime_gl_get_tex_parameterfv (target:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_tex_parameteri") private static function lime_gl_get_tex_parameteri (target:Int, pname:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_tex_parameteriv") private static function lime_gl_get_tex_parameteriv (target:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_transform_feedback_varying") private static function lime_gl_get_transform_feedback_varying (program:Int, index:Int):Dynamic { return null; } + @:hlNative("lime", "lime_gl_get_uniformf") private static function lime_gl_get_uniformf (program:Int, location:Int):hl.F32 { return 0; } + @:hlNative("lime", "lime_gl_get_uniformfv") private static function lime_gl_get_uniformfv (program:Int, location:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_uniformi") private static function lime_gl_get_uniformi (program:Int, location:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_uniformiv") private static function lime_gl_get_uniformiv (program:Int, location:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_uniformui") private static function lime_gl_get_uniformui (program:Int, location:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_uniformuiv") private static function lime_gl_get_uniformuiv (program:Int, location:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_uniform_block_index") private static function lime_gl_get_uniform_block_index (program:Int, uniformBlockName:String):Int { return 0; } + @:hlNative("lime", "lime_gl_get_uniform_location") private static function lime_gl_get_uniform_location (program:Int, name:String):Int { return 0; } + @:hlNative("lime", "lime_gl_get_vertex_attribf") private static function lime_gl_get_vertex_attribf (index:Int, pname:Int):hl.F32 { return 0; } + @:hlNative("lime", "lime_gl_get_vertex_attribfv") private static function lime_gl_get_vertex_attribfv (index:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_vertex_attribi") private static function lime_gl_get_vertex_attribi (index:Int, pname:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_vertex_attribiv") private static function lime_gl_get_vertex_attribiv (index:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_vertex_attribii") private static function lime_gl_get_vertex_attribii (index:Int, pname:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_vertex_attribiiv") private static function lime_gl_get_vertex_attribiiv (index:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_vertex_attribiui") private static function lime_gl_get_vertex_attribiui (index:Int, pname:Int):Int { return 0; } + @:hlNative("lime", "lime_gl_get_vertex_attribiuiv") private static function lime_gl_get_vertex_attribiuiv (index:Int, pname:Int, params:DataPointer):Void {} + @:hlNative("lime", "lime_gl_get_vertex_attrib_pointerv") private static function lime_gl_get_vertex_attrib_pointerv (index:Int, pname:Int):DataPointer { return null; } + @:hlNative("lime", "lime_gl_hint") private static function lime_gl_hint (target:Int, mode:Int):Void {} + @:hlNative("lime", "lime_gl_invalidate_framebuffer") private static function lime_gl_invalidate_framebuffer (target:Int, attachments:Dynamic):Void {} + @:hlNative("lime", "lime_gl_invalidate_sub_framebuffer") private static function lime_gl_invalidate_sub_framebuffer (target:Int, attachments:Dynamic, x:Int, y:Int, width:Int, height:Int):Void {} + @:hlNative("lime", "lime_gl_is_buffer") private static function lime_gl_is_buffer (buffer:Int):Bool { return false; } + @:hlNative("lime", "lime_gl_is_enabled") private static function lime_gl_is_enabled (cap:Int):Bool { return false; } + @:hlNative("lime", "lime_gl_is_framebuffer") private static function lime_gl_is_framebuffer (framebuffer:Int):Bool { return false; } + @:hlNative("lime", "lime_gl_is_program") private static function lime_gl_is_program (program:Int):Bool { return false; } + @:hlNative("lime", "lime_gl_is_query") private static function lime_gl_is_query (query:Int):Bool { return false; } + @:hlNative("lime", "lime_gl_is_renderbuffer") private static function lime_gl_is_renderbuffer (renderbuffer:Int):Bool { return false; } + @:hlNative("lime", "lime_gl_is_sampler") private static function lime_gl_is_sampler (sampler:Int):Bool { return false; } + @:hlNative("lime", "lime_gl_is_shader") private static function lime_gl_is_shader (shader:Int):Bool { return false; } + @:hlNative("lime", "lime_gl_is_sync") private static function lime_gl_is_sync (sync:CFFIPointer):Bool { return false; } + @:hlNative("lime", "lime_gl_is_texture") private static function lime_gl_is_texture (texture:Int):Bool { return false; } + @:hlNative("lime", "lime_gl_is_transform_feedback") private static function lime_gl_is_transform_feedback (transformFeedback:Int):Bool { return false; } + @:hlNative("lime", "lime_gl_is_vertex_array") private static function lime_gl_is_vertex_array (vertexArray:Int):Bool { return false; } + @:hlNative("lime", "lime_gl_line_width") private static function lime_gl_line_width (width:hl.F32):Void {} + @:hlNative("lime", "lime_gl_link_program") private static function lime_gl_link_program (program:Int):Void {} + @:hlNative("lime", "lime_gl_map_buffer_range") private static function lime_gl_map_buffer_range (target:Int, offset:DataPointer, length:Int, access:Int):DataPointer { return null; } + @:hlNative("lime", "lime_gl_object_deregister") private static function lime_gl_object_deregister (object:CFFIPointer):Void {} + @:hlNative("lime", "lime_gl_object_from_id") private static function lime_gl_object_from_id (id:Int, type:Int):CFFIPointer { return null; } + @:hlNative("lime", "lime_gl_object_register") private static function lime_gl_object_register (id:Int, type:Int, object:CFFIPointer):Void {} + @:hlNative("lime", "lime_gl_pause_transform_feedback") private static function lime_gl_pause_transform_feedback ():Void {} + @:hlNative("lime", "lime_gl_pixel_storei") private static function lime_gl_pixel_storei (pname:Int, param:Int):Void {} + @:hlNative("lime", "lime_gl_polygon_offset") private static function lime_gl_polygon_offset (factor:hl.F32, units:hl.F32):Void {} + @:hlNative("lime", "lime_gl_program_binary") private static function lime_gl_program_binary (program:Int, binaryFormat:Int, binary:DataPointer, length:Int):Void {} + @:hlNative("lime", "lime_gl_program_parameteri") private static function lime_gl_program_parameteri (program:Int, pname:Int, value:Int):Void {} + @:hlNative("lime", "lime_gl_read_buffer") private static function lime_gl_read_buffer (src:Int):Void {} + @:hlNative("lime", "lime_gl_read_pixels") private static function lime_gl_read_pixels (x:Int, y:Int, width:Int, height:Int, format:Int, type:Int, pixels:DataPointer):Void {} + @:hlNative("lime", "lime_gl_release_shader_compiler") private static function lime_gl_release_shader_compiler ():Void {} + @:hlNative("lime", "lime_gl_renderbuffer_storage") private static function lime_gl_renderbuffer_storage (target:Int, internalformat:Int, width:Int, height:Int):Void {} + @:hlNative("lime", "lime_gl_renderbuffer_storage_multisample") private static function lime_gl_renderbuffer_storage_multisample (target:Int, samples:Int, internalformat:Int, width:Int, height:Int):Void {} + @:hlNative("lime", "lime_gl_resume_transform_feedback") private static function lime_gl_resume_transform_feedback ():Void {} + @:hlNative("lime", "lime_gl_sample_coverage") private static function lime_gl_sample_coverage (value:hl.F32, invert:Bool):Void {} + @:hlNative("lime", "lime_gl_sampler_parameterf") private static function lime_gl_sampler_parameterf (sampler:Int, pname:Int, param:hl.F32):Void {} + @:hlNative("lime", "lime_gl_sampler_parameteri") private static function lime_gl_sampler_parameteri (sampler:Int, pname:Int, param:Int):Void {} + @:hlNative("lime", "lime_gl_scissor") private static function lime_gl_scissor (x:Int, y:Int, width:Int, height:Int):Void {} + @:hlNative("lime", "lime_gl_shader_binary") private static function lime_gl_shader_binary (shaders:Dynamic, binaryformat:Int, binary:DataPointer, length:Int):Void {} + @:hlNative("lime", "lime_gl_shader_source") private static function lime_gl_shader_source (shader:Int, source:String):Void {} + @:hlNative("lime", "lime_gl_stencil_func") private static function lime_gl_stencil_func (func:Int, ref:Int, mask:Int):Void {} + @:hlNative("lime", "lime_gl_stencil_func_separate") private static function lime_gl_stencil_func_separate (face:Int, func:Int, ref:Int, mask:Int):Void {} + @:hlNative("lime", "lime_gl_stencil_mask") private static function lime_gl_stencil_mask (mask:Int):Void {} + @:hlNative("lime", "lime_gl_stencil_mask_separate") private static function lime_gl_stencil_mask_separate (face:Int, mask:Int):Void {} + @:hlNative("lime", "lime_gl_stencil_op") private static function lime_gl_stencil_op (fail:Int, zfail:Int, zpass:Int):Void {} + @:hlNative("lime", "lime_gl_stencil_op_separate") private static function lime_gl_stencil_op_separate (face:Int, fail:Int, zfail:Int, zpass:Int):Void {} + @:hlNative("lime", "lime_gl_tex_image_2d") private static function lime_gl_tex_image_2d (target:Int, level:Int, internalformat:Int, width:Int, height:Int, border:Int, format:Int, type:Int, data:DataPointer):Void {} + @:hlNative("lime", "lime_gl_tex_image_3d") private static function lime_gl_tex_image_3d (target:Int, level:Int, internalformat:Int, width:Int, height:Int, depth:Int, border:Int, format:Int, type:Int, data:DataPointer):Void {} + @:hlNative("lime", "lime_gl_tex_parameterf") private static function lime_gl_tex_parameterf (target:Int, pname:Int, param:hl.F32):Void {} + @:hlNative("lime", "lime_gl_tex_parameteri") private static function lime_gl_tex_parameteri (target:Int, pname:Int, param:Int):Void {} + @:hlNative("lime", "lime_gl_tex_storage_2d") private static function lime_gl_tex_storage_2d (target:Int, level:Int, internalformat:Int, width:Int, height:Int):Void {} + @:hlNative("lime", "lime_gl_tex_storage_3d") private static function lime_gl_tex_storage_3d (target:Int, level:Int, internalformat:Int, width:Int, height:Int, depth:Int):Void {} + @:hlNative("lime", "lime_gl_tex_sub_image_2d") private static function lime_gl_tex_sub_image_2d (target:Int, level:Int, xoffset:Int, yoffset:Int, width:Int, height:Int, format:Int, type:Int, data:DataPointer):Void {} + @:hlNative("lime", "lime_gl_tex_sub_image_3d") private static function lime_gl_tex_sub_image_3d (target:Int, level:Int, xoffset:Int, yoffset:Int, zoffset:Int, width:Int, height:Int, depth:Int, format:Int, type:Int, data:DataPointer):Void {} + @:hlNative("lime", "lime_gl_transform_feedback_varyings") private static function lime_gl_transform_feedback_varyings (program:Int, varyings:Dynamic, bufferMode:Int):Void {} + @:hlNative("lime", "lime_gl_uniform1f") private static function lime_gl_uniform1f (location:Int, v0:hl.F32):Void {} + @:hlNative("lime", "lime_gl_uniform1fv") private static function lime_gl_uniform1fv (location:Int, count:Int, v:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform1i") private static function lime_gl_uniform1i (location:Int, v0:Int):Void {} + @:hlNative("lime", "lime_gl_uniform1iv") private static function lime_gl_uniform1iv (location:Int, count:Int, v:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform1ui") private static function lime_gl_uniform1ui (location:Int, v0:Int):Void {} + @:hlNative("lime", "lime_gl_uniform1uiv") private static function lime_gl_uniform1uiv (location:Int, count:Int, v:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform2f") private static function lime_gl_uniform2f (location:Int, v0:hl.F32, v1:hl.F32):Void {} + @:hlNative("lime", "lime_gl_uniform2fv") private static function lime_gl_uniform2fv (location:Int, count:Int, v:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform2i") private static function lime_gl_uniform2i (location:Int, v0:Int, v1:Int):Void {} + @:hlNative("lime", "lime_gl_uniform2iv") private static function lime_gl_uniform2iv (location:Int, count:Int, v:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform2ui") private static function lime_gl_uniform2ui (location:Int, v0:Int, v1:Int):Void {} + @:hlNative("lime", "lime_gl_uniform2uiv") private static function lime_gl_uniform2uiv (location:Int, count:Int, v:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform3f") private static function lime_gl_uniform3f (location:Int, v0:hl.F32, v1:hl.F32, v2:hl.F32):Void {} + @:hlNative("lime", "lime_gl_uniform3fv") private static function lime_gl_uniform3fv (location:Int, count:Int, v:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform3i") private static function lime_gl_uniform3i (location:Int, v0:Int, v1:Int, v2:Int):Void {} + @:hlNative("lime", "lime_gl_uniform3iv") private static function lime_gl_uniform3iv (location:Int, count:Int, v:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform3ui") private static function lime_gl_uniform3ui (location:Int, v0:Int, v1:Int, v2:Int):Void {} + @:hlNative("lime", "lime_gl_uniform3uiv") private static function lime_gl_uniform3uiv (location:Int, count:Int, v:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform4f") private static function lime_gl_uniform4f (location:Int, v0:hl.F32, v1:hl.F32, v2:hl.F32, v3:hl.F32):Void {} + @:hlNative("lime", "lime_gl_uniform4fv") private static function lime_gl_uniform4fv (location:Int, count:Int, v:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform4i") private static function lime_gl_uniform4i (location:Int, v0:Int, v1:Int, v2:Int, v3:Int):Void {} + @:hlNative("lime", "lime_gl_uniform4iv") private static function lime_gl_uniform4iv (location:Int, count:Int, v:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform4ui") private static function lime_gl_uniform4ui (location:Int, v0:Int, v1:Int, v2:Int, v3:Int):Void {} + @:hlNative("lime", "lime_gl_uniform4uiv") private static function lime_gl_uniform4uiv (location:Int, count:Int, v:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform_block_binding") private static function lime_gl_uniform_block_binding (program:Int, uniformBlockIndex:Int, uniformBlockBinding:Int):Void {} + @:hlNative("lime", "lime_gl_uniform_matrix2fv") private static function lime_gl_uniform_matrix2fv (location:Int, count:Int, transpose:Bool, value:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform_matrix2x3fv") private static function lime_gl_uniform_matrix2x3fv (location:Int, count:Int, transpose:Bool, value:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform_matrix2x4fv") private static function lime_gl_uniform_matrix2x4fv (location:Int, count:Int, transpose:Bool, value:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform_matrix3fv") private static function lime_gl_uniform_matrix3fv (location:Int, count:Int, transpose:Bool, value:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform_matrix3x2fv") private static function lime_gl_uniform_matrix3x2fv (location:Int, count:Int, transpose:Bool, value:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform_matrix3x4fv") private static function lime_gl_uniform_matrix3x4fv (location:Int, count:Int, transpose:Bool, value:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform_matrix4fv") private static function lime_gl_uniform_matrix4fv (location:Int, count:Int, transpose:Bool, value:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform_matrix4x2fv") private static function lime_gl_uniform_matrix4x2fv (location:Int, count:Int, transpose:Bool, value:DataPointer):Void {} + @:hlNative("lime", "lime_gl_uniform_matrix4x3fv") private static function lime_gl_uniform_matrix4x3fv (location:Int, count:Int, transpose:Bool, value:DataPointer):Void {} + @:hlNative("lime", "lime_gl_unmap_buffer") private static function lime_gl_unmap_buffer (target:Int):Bool { return false; } + @:hlNative("lime", "lime_gl_use_program") private static function lime_gl_use_program (program:Int):Void {} + @:hlNative("lime", "lime_gl_validate_program") private static function lime_gl_validate_program (program:Int):Void {} + @:hlNative("lime", "lime_gl_vertex_attrib1f") private static function lime_gl_vertex_attrib1f (indx:Int, v0:hl.F32):Void {} + @:hlNative("lime", "lime_gl_vertex_attrib1fv") private static function lime_gl_vertex_attrib1fv (indx:Int, values:DataPointer):Void {} + @:hlNative("lime", "lime_gl_vertex_attrib2f") private static function lime_gl_vertex_attrib2f (indx:Int, v0:hl.F32, v1:hl.F32):Void {} + @:hlNative("lime", "lime_gl_vertex_attrib2fv") private static function lime_gl_vertex_attrib2fv (indx:Int, values:DataPointer):Void {} + @:hlNative("lime", "lime_gl_vertex_attrib3f") private static function lime_gl_vertex_attrib3f (indx:Int, v0:hl.F32, v1:hl.F32, v2:hl.F32):Void {} + @:hlNative("lime", "lime_gl_vertex_attrib3fv") private static function lime_gl_vertex_attrib3fv (indx:Int, values:DataPointer):Void {} + @:hlNative("lime", "lime_gl_vertex_attrib4f") private static function lime_gl_vertex_attrib4f (indx:Int, v0:hl.F32, v1:hl.F32, v2:hl.F32, v3:hl.F32):Void {} + @:hlNative("lime", "lime_gl_vertex_attrib4fv") private static function lime_gl_vertex_attrib4fv (indx:Int, values:DataPointer):Void {} + @:hlNative("lime", "lime_gl_vertex_attribi4i") private static function lime_gl_vertex_attribi4i (indx:Int, v0:Int, v1:Int, v2:Int, v3:Int):Void {} + @:hlNative("lime", "lime_gl_vertex_attribi4iv") private static function lime_gl_vertex_attribi4iv (indx:Int, values:DataPointer):Void {} + @:hlNative("lime", "lime_gl_vertex_attribi4ui") private static function lime_gl_vertex_attribi4ui (indx:Int, v0:Int, v1:Int, v2:Int, v3:Int):Void {} + @:hlNative("lime", "lime_gl_vertex_attribi4uiv") private static function lime_gl_vertex_attribi4uiv (indx:Int, values:DataPointer):Void {} + @:hlNative("lime", "lime_gl_vertex_attrib_divisor") private static function lime_gl_vertex_attrib_divisor (indx:Int, divisor:Int):Void {} + @:hlNative("lime", "lime_gl_vertex_attrib_ipointer") private static function lime_gl_vertex_attrib_ipointer (indx:Int, size:Int, type:Int, stride:Int, offset:DataPointer):Void {} + @:hlNative("lime", "lime_gl_vertex_attrib_pointer") private static function lime_gl_vertex_attrib_pointer (indx:Int, size:Int, type:Int, normalized:Bool, stride:Int, offset:DataPointer):Void {} + @:hlNative("lime", "lime_gl_viewport") private static function lime_gl_viewport (x:Int, y:Int, width:Int, height:Int):Void {} + @:hlNative("lime", "lime_gl_wait_sync") private static function lime_gl_wait_sync (sync:CFFIPointer, flags:Int, timeoutA:Int, timeoutB:Int):Void {} + #end #end #if (lime_cffi && !macro && lime_vorbis) diff --git a/project/src/graphics/opengl/OpenGLBindings.cpp b/project/src/graphics/opengl/OpenGLBindings.cpp index 15151346e..d18449966 100644 --- a/project/src/graphics/opengl/OpenGLBindings.cpp +++ b/project/src/graphics/opengl/OpenGLBindings.cpp @@ -670,30 +670,6 @@ namespace lime { } - int lime_gl_client_wait_sync (value sync, int flags, int timeoutA, int timeoutB) { - - #ifdef LIME_GLES3_API - GLuint64 timeout = (GLuint64) timeoutA << 32 | timeoutB; - return glClientWaitSync ((GLsync)val_data (sync), flags, timeout); - #else - return 0; - #endif - - } - - - HL_PRIM int hl_lime_gl_client_wait_sync (value sync, int flags, int timeoutA, int timeoutB) { - - #ifdef LIME_GLES3_API - GLuint64 timeout = (GLuint64) timeoutA << 32 | timeoutB; - return glClientWaitSync ((GLsync)val_data (sync), flags, timeout); - #else - return 0; - #endif - - } - - void lime_gl_clear_color (float red, float green, float blue, float alpha) { glClearColor (red, green, blue, alpha); @@ -744,6 +720,30 @@ namespace lime { } + int lime_gl_client_wait_sync (value sync, int flags, int timeoutA, int timeoutB) { + + #ifdef LIME_GLES3_API + GLuint64 timeout = (GLuint64) timeoutA << 32 | timeoutB; + return glClientWaitSync ((GLsync)val_data (sync), flags, timeout); + #else + return 0; + #endif + + } + + + HL_PRIM int hl_lime_gl_client_wait_sync (HL_CFFIPointer* sync, int flags, int timeoutA, int timeoutB) { + + #ifdef LIME_GLES3_API + GLuint64 timeout = (GLuint64) timeoutA << 32 | timeoutB; + return glClientWaitSync ((GLsync)sync->ptr, flags, timeout); + #else + return 0; + #endif + + } + + void lime_gl_color_mask (bool red, bool green, bool blue, bool alpha) { glColorMask (red, green, blue, alpha); @@ -1838,7 +1838,7 @@ namespace lime { glGetActiveUniformBlockName (program, uniformBlockIndex, length, 0, buffer); - return buffer; + return (vbyte*)buffer; #else return NULL; #endif @@ -2411,7 +2411,7 @@ namespace lime { Bytes _bytes (bytes); _bytes.Resize (size); - glGetProgramBinary (program, size, &size, (GLenum*)&binaryFormat, _bytes.Data ()); + glGetProgramBinary (program, size, &size, (GLenum*)&binaryFormat, _bytes.b); } #endif @@ -2943,7 +2943,7 @@ namespace lime { int size = strlen (val); char* result = (char*)malloc (size); memcpy (result, val, size); - return result; + return (vbyte*)result; } else { @@ -3872,7 +3872,7 @@ namespace lime { glObjectIDs[object] = id; glObjects[_type][id] = object; - object->finalizer = (hl_finalizer)gc_gl_object; + object->finalizer = (void*)gc_gl_object; } @@ -5253,11 +5253,11 @@ namespace lime { } - HL_PRIM void hl_lime_gl_wait_sync (value sync, int flags, int timeoutA, int timeoutB) { + HL_PRIM void hl_lime_gl_wait_sync (HL_CFFIPointer* sync, int flags, int timeoutA, int timeoutB) { #ifdef LIME_GLES3_API GLuint64 timeout = (GLuint64) timeoutA << 32 | timeoutB; - glWaitSync ((GLsync)val_data (sync), flags, timeout); + glWaitSync ((GLsync)sync->ptr, flags, timeout); #endif } @@ -5380,10 +5380,10 @@ namespace lime { DEFINE_PRIME1v (lime_gl_delete_texture); DEFINE_PRIME1v (lime_gl_delete_transform_feedback); DEFINE_PRIME1v (lime_gl_delete_vertex_array); - DEFINE_PRIME2v (lime_gl_detach_shader); DEFINE_PRIME1v (lime_gl_depth_func); DEFINE_PRIME1v (lime_gl_depth_mask); DEFINE_PRIME2v (lime_gl_depth_rangef); + DEFINE_PRIME2v (lime_gl_detach_shader); DEFINE_PRIME1v (lime_gl_disable); DEFINE_PRIME1v (lime_gl_disable_vertex_attrib_array); DEFINE_PRIME3v (lime_gl_draw_arrays); @@ -5568,7 +5568,6 @@ namespace lime { DEFINE_PRIME1 (lime_gl_unmap_buffer); DEFINE_PRIME1v (lime_gl_use_program); DEFINE_PRIME1v (lime_gl_validate_program); - DEFINE_PRIME4v (lime_gl_viewport); DEFINE_PRIME2v (lime_gl_vertex_attrib_divisor); DEFINE_PRIME5v (lime_gl_vertex_attrib_ipointer); DEFINE_PRIME6v (lime_gl_vertex_attrib_pointer); @@ -5584,9 +5583,285 @@ namespace lime { DEFINE_PRIME2v (lime_gl_vertex_attrib3fv); DEFINE_PRIME5v (lime_gl_vertex_attrib4f); DEFINE_PRIME2v (lime_gl_vertex_attrib4fv); + DEFINE_PRIME4v (lime_gl_viewport); DEFINE_PRIME4v (lime_gl_wait_sync); + #define _TBYTES _OBJ (_I32 _BYTES) + #define _TCFFIPOINTER _DYN + + + DEFINE_HL_PRIM (_VOID, lime_gl_active_texture, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_attach_shader, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_begin_query, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_begin_transform_feedback, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_bind_attrib_location, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_bind_buffer, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_bind_buffer_base, _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_bind_buffer_range, _I32 _I32 _I32 _F64 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_bind_framebuffer, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_bind_renderbuffer, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_bind_sampler, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_bind_texture, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_bind_transform_feedback, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_bind_vertex_array, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_blend_color, _F32 _F32 _F32 _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_blend_equation, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_blend_equation_separate, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_blend_func, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_blend_func_separate, _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_blit_framebuffer, _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_buffer_data, _I32 _I32 _F64 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_buffer_sub_data, _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_I32, lime_gl_check_framebuffer_status, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_clear, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_clear_bufferfi, _I32 _I32 _F32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_clear_bufferfv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_clear_bufferiv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_clear_bufferuiv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_clear_color, _F32 _F32 _F32 _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_clear_depthf, _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_clear_stencil, _I32); + DEFINE_HL_PRIM (_I32, lime_gl_client_wait_sync, _TCFFIPOINTER _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_color_mask, _BOOL _BOOL _BOOL _BOOL); + DEFINE_HL_PRIM (_VOID, lime_gl_compile_shader, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_compressed_tex_image_2d, _I32 _I32 _I32 _I32 _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_compressed_tex_image_3d, _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_compressed_tex_sub_image_2d, _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_compressed_tex_sub_image_3d, _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_copy_buffer_sub_data, _I32 _I32 _F64 _F64 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_copy_tex_image_2d, _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_copy_tex_sub_image_2d, _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_copy_tex_sub_image_3d, _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_I32, lime_gl_create_buffer, _NO_ARG); + DEFINE_HL_PRIM (_I32, lime_gl_create_framebuffer, _NO_ARG); + DEFINE_HL_PRIM (_I32, lime_gl_create_program, _NO_ARG); + DEFINE_HL_PRIM (_I32, lime_gl_create_query, _NO_ARG); + DEFINE_HL_PRIM (_I32, lime_gl_create_renderbuffer, _NO_ARG); + DEFINE_HL_PRIM (_I32, lime_gl_create_sampler, _NO_ARG); + DEFINE_HL_PRIM (_I32, lime_gl_create_shader, _NO_ARG); + DEFINE_HL_PRIM (_I32, lime_gl_create_texture, _NO_ARG); + DEFINE_HL_PRIM (_I32, lime_gl_create_transform_feedback, _NO_ARG); + DEFINE_HL_PRIM (_I32, lime_gl_create_vertex_array, _NO_ARG); + DEFINE_HL_PRIM (_VOID, lime_gl_cull_face, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_delete_buffer, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_delete_framebuffer, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_delete_program, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_delete_query, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_delete_renderbuffer, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_delete_sampler, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_delete_shader, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_delete_sync, _TCFFIPOINTER); + DEFINE_HL_PRIM (_VOID, lime_gl_delete_texture, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_delete_transform_feedback, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_delete_vertex_array, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_depth_func, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_depth_mask, _BOOL); + DEFINE_HL_PRIM (_VOID, lime_gl_depth_rangef, _F32 _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_detach_shader, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_disable, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_disable_vertex_attrib_array, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_draw_arrays, _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_draw_arrays_instanced, _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_draw_buffers, _ARR); + DEFINE_HL_PRIM (_VOID, lime_gl_draw_elements, _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_draw_elements_instanced, _I32 _I32 _I32 _F64 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_draw_range_elements, _I32 _I32 _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_enable, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_enable_vertex_attrib_array, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_end_query, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_end_transform_feedback, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_fence_sync, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_finish, _NO_ARG); + DEFINE_HL_PRIM (_VOID, lime_gl_flush, _NO_ARG); + DEFINE_HL_PRIM (_VOID, lime_gl_framebuffer_renderbuffer, _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_framebuffer_texture_layer, _I32 _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_framebuffer_texture2D, _I32 _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_front_face, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_generate_mipmap, _I32); + DEFINE_HL_PRIM (_DYN, lime_gl_get_active_attrib, _I32 _I32); + DEFINE_HL_PRIM (_DYN, lime_gl_get_active_uniform, _I32 _I32); + DEFINE_HL_PRIM (_I32, lime_gl_get_active_uniform_blocki, _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_active_uniform_blockiv, _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_BYTES, lime_gl_get_active_uniform_block_name, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_active_uniformsiv, _I32 _ARR _I32 _F64); + DEFINE_HL_PRIM (_ARR, lime_gl_get_attached_shaders, _I32); + DEFINE_HL_PRIM (_I32, lime_gl_get_attrib_location, _I32 _STRING); + DEFINE_HL_PRIM (_BOOL, lime_gl_get_boolean, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_booleanv, _I32 _F64); + DEFINE_HL_PRIM (_I32, lime_gl_get_buffer_parameteri, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_buffer_parameteriv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_get_buffer_parameteri64v, _I32 _I32 _F64); + DEFINE_HL_PRIM (_F64, lime_gl_get_buffer_pointerv, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_buffer_sub_data, _I32 _F64 _I32 _F64); + DEFINE_HL_PRIM (_DYN, lime_gl_get_context_attributes, _NO_ARG); + DEFINE_HL_PRIM (_I32, lime_gl_get_error, _NO_ARG); + DEFINE_HL_PRIM (_DYN, lime_gl_get_extension, _STRING); + DEFINE_HL_PRIM (_F32, lime_gl_get_float, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_floatv, _I32 _F64); + DEFINE_HL_PRIM (_I32, lime_gl_get_frag_data_location, _I32 _STRING); + DEFINE_HL_PRIM (_I32, lime_gl_get_framebuffer_attachment_parameteri, _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_framebuffer_attachment_parameteriv, _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_I32, lime_gl_get_integer, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_integerv, _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_get_integer64v, _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_get_integer64i_v, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_get_integeri_v, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_get_internalformativ, _I32 _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_I32, lime_gl_get_programi, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_programiv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_get_program_binary, _I32 _I32 _TBYTES); + DEFINE_HL_PRIM (_BYTES, lime_gl_get_program_info_log, _I32); + DEFINE_HL_PRIM (_I32, lime_gl_get_queryi, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_queryiv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_I32, lime_gl_get_query_objectui, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_query_objectuiv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_I32, lime_gl_get_renderbuffer_parameteri, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_renderbuffer_parameteriv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_F32, lime_gl_get_sampler_parameterf, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_sampler_parameterfv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_I32, lime_gl_get_sampler_parameteri, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_sampler_parameteriv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_BYTES, lime_gl_get_shader_info_log, _I32); + DEFINE_HL_PRIM (_I32, lime_gl_get_shaderi, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_shaderiv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_DYN, lime_gl_get_shader_precision_format, _I32 _I32); + DEFINE_HL_PRIM (_BYTES, lime_gl_get_shader_source, _I32); + DEFINE_HL_PRIM (_BYTES, lime_gl_get_string, _I32); + DEFINE_HL_PRIM (_BYTES, lime_gl_get_stringi, _I32 _I32); + DEFINE_HL_PRIM (_I32, lime_gl_get_sync_parameteri, _TCFFIPOINTER _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_sync_parameteriv, _TCFFIPOINTER _I32 _F64); + DEFINE_HL_PRIM (_F32, lime_gl_get_tex_parameterf, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_tex_parameterfv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_I32, lime_gl_get_tex_parameteri, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_tex_parameteriv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_DYN, lime_gl_get_transform_feedback_varying, _I32 _I32); + DEFINE_HL_PRIM (_F32, lime_gl_get_uniformf, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_uniformfv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_I32, lime_gl_get_uniformi, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_uniformiv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_I32, lime_gl_get_uniformui, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_uniformuiv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_I32, lime_gl_get_uniform_block_index, _I32 _STRING); + DEFINE_HL_PRIM (_I32, lime_gl_get_uniform_location, _I32 _STRING); + DEFINE_HL_PRIM (_F32, lime_gl_get_vertex_attribf, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_vertex_attribfv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_I32, lime_gl_get_vertex_attribi, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_vertex_attribiv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_I32, lime_gl_get_vertex_attribii, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_vertex_attribiiv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_I32, lime_gl_get_vertex_attribiui, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_get_vertex_attribiuiv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_F64, lime_gl_get_vertex_attrib_pointerv, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_hint, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_invalidate_framebuffer, _I32 _ARR); + DEFINE_HL_PRIM (_VOID, lime_gl_invalidate_sub_framebuffer, _I32 _ARR _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_BOOL, lime_gl_is_buffer, _I32); + DEFINE_HL_PRIM (_BOOL, lime_gl_is_enabled, _I32); + DEFINE_HL_PRIM (_BOOL, lime_gl_is_framebuffer, _I32); + DEFINE_HL_PRIM (_BOOL, lime_gl_is_program, _I32); + DEFINE_HL_PRIM (_BOOL, lime_gl_is_query, _I32); + DEFINE_HL_PRIM (_BOOL, lime_gl_is_renderbuffer, _I32); + DEFINE_HL_PRIM (_BOOL, lime_gl_is_sampler, _I32); + DEFINE_HL_PRIM (_BOOL, lime_gl_is_shader, _I32); + DEFINE_HL_PRIM (_BOOL, lime_gl_is_sync, _TCFFIPOINTER); + DEFINE_HL_PRIM (_BOOL, lime_gl_is_texture, _I32); + DEFINE_HL_PRIM (_BOOL, lime_gl_is_transform_feedback, _I32); + DEFINE_HL_PRIM (_BOOL, lime_gl_is_vertex_array, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_line_width, _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_link_program, _I32); + DEFINE_HL_PRIM (_F64, lime_gl_map_buffer_range, _I32 _F64 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_object_deregister, _TCFFIPOINTER); + DEFINE_HL_PRIM (_TCFFIPOINTER, lime_gl_object_from_id, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_object_register, _I32 _I32 _TCFFIPOINTER); + DEFINE_HL_PRIM (_VOID, lime_gl_pause_transform_feedback, _NO_ARG); + DEFINE_HL_PRIM (_VOID, lime_gl_pixel_storei, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_polygon_offset, _F32 _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_program_binary, _I32 _I32 _F64 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_program_parameteri, _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_read_buffer, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_read_pixels, _I32 _I32 _I32 _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_release_shader_compiler, _NO_ARG); + DEFINE_HL_PRIM (_VOID, lime_gl_renderbuffer_storage, _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_renderbuffer_storage_multisample, _I32 _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_resume_transform_feedback, _NO_ARG); + DEFINE_HL_PRIM (_VOID, lime_gl_sample_coverage, _F32 _BOOL); + DEFINE_HL_PRIM (_VOID, lime_gl_sampler_parameterf, _I32 _I32 _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_sampler_parameteri, _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_scissor, _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_shader_binary, _ARR _I32 _F64 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_shader_source, _I32 _STRING); + DEFINE_HL_PRIM (_VOID, lime_gl_stencil_func, _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_stencil_func_separate, _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_stencil_mask, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_stencil_mask_separate, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_stencil_op, _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_stencil_op_separate, _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_tex_image_2d, _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_tex_image_3d, _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_tex_parameterf, _I32 _I32 _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_tex_parameteri, _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_tex_storage_2d, _I32 _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_tex_storage_3d, _I32 _I32 _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_tex_sub_image_2d, _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_tex_sub_image_3d, _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_transform_feedback_varyings, _I32 _ARR _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform1f, _I32 _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform1fv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform1i, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform1iv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform1ui, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform1uiv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform2f, _I32 _F32 _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform2fv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform2i, _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform2iv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform2ui, _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform2uiv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform3f, _I32 _F32 _F32 _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform3fv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform3i, _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform3iv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform3ui, _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform3uiv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform4f, _I32 _F32 _F32 _F32 _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform4fv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform4i, _I32 _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform4iv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform4ui, _I32 _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform4uiv, _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform_block_binding, _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform_matrix2fv, _I32 _I32 _BOOL _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform_matrix2x3fv, _I32 _I32 _BOOL _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform_matrix2x4fv, _I32 _I32 _BOOL _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform_matrix3fv, _I32 _I32 _BOOL _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform_matrix3x2fv, _I32 _I32 _BOOL _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform_matrix3x4fv, _I32 _I32 _BOOL _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform_matrix4fv, _I32 _I32 _BOOL _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform_matrix4x2fv, _I32 _I32 _BOOL _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_uniform_matrix4x3fv, _I32 _I32 _BOOL _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_unmap_buffer, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_use_program, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_validate_program, _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_vertex_attrib_divisor, _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_vertex_attrib_ipointer, _I32 _I32 _I32 _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_vertex_attrib_pointer, _I32 _I32 _I32 _BOOL _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_vertex_attribi4i, _I32 _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_vertex_attribi4iv, _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_vertex_attribi4ui, _I32 _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_vertex_attribi4uiv, _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_vertex_attrib1f, _I32 _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_vertex_attrib1fv, _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_vertex_attrib2f, _I32 _F32 _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_vertex_attrib2fv, _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_vertex_attrib3f, _I32 _F32 _F32 _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_vertex_attrib3fv, _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_vertex_attrib4f, _I32 _F32 _F32 _F32 _F32); + DEFINE_HL_PRIM (_VOID, lime_gl_vertex_attrib4fv, _I32 _F64); + DEFINE_HL_PRIM (_VOID, lime_gl_viewport, _I32 _I32 _I32 _I32); + DEFINE_HL_PRIM (_VOID, lime_gl_wait_sync, _TCFFIPOINTER _I32 _I32 _I32); + + }