{ "glGetProgramResourceiv", 43, -1 },
{ "glGetProgramResourceLocation", 43, -1 },
{ "glGetProgramResourceLocationIndex", 43, -1 },
-// { "glShaderStorageBlockBinding", 43, -1 }, // XXX: Add to xml
+ { "glShaderStorageBlockBinding", 43, -1 },
// { "glTextureBufferRangeEXT", 43, -1 }, // XXX: Add to xml
{ "glTexStorage2DMultisample", 43, -1 },
{ "glTexStorage3DMultisample", 43, -1 },
// { "glTextureStorage2DMultisampleEXT", 43, -1 }, // XXX: Add to xml
// { "glTextureStorage3DMultisampleEXT", 43, -1 }, // XXX: Add to xml
+/* GL 4.5 */
+ /* aliased versions checked above */
+ //{ "glGetGraphicsResetStatus", 45, -1 },
+ //{ "glReadnPixels", 45, -1 },
+ //{ "glGetnUniformfv", 45, -1 },
+ //{ "glGetnUniformiv", 45, -1 },
+ //{ "glGetnUniformuiv", 45, -1 },
+ { "glMemoryBarrierByRegion", 45, -1 },
+
/* GL_ARB_internalformat_query */
{ "glGetInternalformativ", 30, -1 },
+ /* GL_ARB_internalformat_query */
+ { "glGetInternalformati64v", 30, -1 },
+
/* GL_ARB_multi_bind */
{ "glBindBuffersBase", 44, -1 },
{ "glBindBuffersRange", 44, -1 },
{ "glDispatchCompute", 43, -1 },
{ "glDispatchComputeIndirect", 43, -1 },
+ /* GL_ARB_compute_variable_group_size */
+ { "glDispatchComputeGroupSizeARB", 43, -1 },
+
/* GL_EXT_polygon_offset_clamp */
{ "glPolygonOffsetClampEXT", 11, -1 },
{ "glGetTextureSubImage", 20, -1 },
{ "glGetCompressedTextureSubImage", 20, -1 },
+ /* GL_GREMEDY_string_marker */
+ { "glStringMarkerGREMEDY", 15, -1 },
+
+ /* GL_EXT_window_rectangles */
+ { "glWindowRectanglesEXT", 30, -1 },
+
+ /* GL_KHR_blend_equation_advanced */
+ { "glBlendBarrierKHR", 20, -1 },
+
{ NULL, 0, -1 }
};
/* GL 3.2 */
{ "glFramebufferTexture", 32, -1 },
+ /* GL 4.0 */
+ { "glGetSubroutineUniformLocation", 40, -1 },
+ { "glGetSubroutineIndex", 40, -1 },
+ { "glGetActiveSubroutineUniformiv", 40, -1 },
+ { "glGetActiveSubroutineUniformName", 40, -1 },
+ { "glGetActiveSubroutineName", 40, -1 },
+ { "glUniformSubroutinesuiv", 40, -1 },
+ { "glGetUniformSubroutineuiv", 40, -1 },
+ { "glGetProgramStageiv", 40, -1 },
+
/* GL 4.3 */
{ "glIsRenderbuffer", 43, -1 },
{ "glBindRenderbuffer", 43, -1 },
{ "glUniformMatrix4x2dv", 40, -1 },
{ "glUniformMatrix4x3dv", 40, -1 },
{ "glGetUniformdv", 43, -1 },
-// { "glGetSubroutineUniformLocation", 43, -1 }, // XXX: Add to xml
-// { "glGetSubroutineIndex", 43, -1 }, // XXX: Add to xml
-// { "glGetActiveSubroutineUniformiv", 43, -1 }, // XXX: Add to xml
-// { "glGetActiveSubroutineUniformName", 43, -1 }, // XXX: Add to xml
-// { "glGetActiveSubroutineName", 43, -1 }, // XXX: Add to xml
-// { "glUniformSubroutinesuiv", 43, -1 }, // XXX: Add to xml
-// { "glGetUniformSubroutineuiv", 43, -1 }, // XXX: Add to xml
-// { "glGetProgramStageiv", 43, -1 }, // XXX: Add to xml
{ "glBindTransformFeedback", 43, -1 },
{ "glDeleteTransformFeedbacks", 43, -1 },
// { "glTextureStorage2DMultisampleEXT", 43, -1 }, // XXX: Add to xml
// { "glTextureStorage3DMultisampleEXT", 43, -1 }, // XXX: Add to xml
+/* GL 4.5 */
+ { "glMemoryBarrierByRegion", 45, -1 },
+
/* GL_ARB_direct_state_access */
{ "glCreateTransformFeedbacks", 45, -1 },
{ "glTransformFeedbackBufferBase", 45, -1 },
{ "glGetQueryBufferObjecti64v", 45, -1 },
{ "glGetQueryBufferObjectui64v", 45, -1 },
+ /* GL_ARB_indirect_parameters */
+ { "glMultiDrawArraysIndirectCountARB", 31, -1 },
+ { "glMultiDrawElementsIndirectCountARB", 31, -1 },
+
+ /* GL_ARB_ES3_2_compatibility */
+ { "glPrimitiveBoundingBoxARB", 45, -1 },
+
{ NULL, 0, -1 }
};
{ "glGetLightxv", 11, -1 },
{ "glGetMaterialfv", 11, _gloffset_GetMaterialfv },
{ "glGetMaterialxv", 11, -1 },
- { "glGetPointerv", 11, _gloffset_GetPointerv },
+ // We check for the aliased -KHR version in GLES 1.1
+// { "glGetPointerv", 11, _gloffset_GetPointerv },
{ "glGetRenderbufferParameterivOES", 11, -1 },
{ "glGetString", 11, _gloffset_GetString },
{ "glGetTexEnvfv", 11, _gloffset_GetTexEnvfv },
{ "glUnmapBufferOES", 11, -1 },
{ "glVertexPointer", 11, _gloffset_VertexPointer },
{ "glViewport", 11, _gloffset_Viewport },
+
+ /* GL_KHR_debug */
+ { "glPushDebugGroupKHR", 11, -1 },
+ { "glPopDebugGroupKHR", 11, -1 },
+ { "glDebugMessageCallbackKHR", 11, -1 },
+ { "glDebugMessageControlKHR", 11, -1 },
+ { "glDebugMessageInsertKHR", 11, -1 },
+ { "glGetDebugMessageLogKHR", 11, -1 },
+ { "glGetObjectLabelKHR", 11, -1 },
+ { "glGetObjectPtrLabelKHR", 11, -1 },
+ { "glGetPointervKHR", 11, _gloffset_GetPointerv },
+ { "glObjectLabelKHR", 11, -1 },
+ { "glObjectPtrLabelKHR", 11, -1 },
+
+ /* GL_EXT_polygon_offset_clamp */
+ { "glPolygonOffsetClampEXT", 11, -1 },
+
{ NULL, 0, -1 }
};
{ "glEndPerfQueryINTEL", 20, -1 },
{ "glGetPerfQueryDataINTEL", 20, -1 },
+ /* GL_KHR_debug */
+ { "glPushDebugGroupKHR", 20, -1 },
+ { "glPopDebugGroupKHR", 20, -1 },
+ { "glDebugMessageCallbackKHR", 20, -1 },
+ { "glDebugMessageControlKHR", 20, -1 },
+ { "glDebugMessageInsertKHR", 20, -1 },
+ { "glGetDebugMessageLogKHR", 20, -1 },
+ { "glGetObjectLabelKHR", 20, -1 },
+ { "glGetObjectPtrLabelKHR", 20, -1 },
+ { "glGetPointervKHR", 20, -1 },
+ { "glObjectLabelKHR", 20, -1 },
+ { "glObjectPtrLabelKHR", 20, -1 },
+
+ /* GL_EXT_polygon_offset_clamp */
+ { "glPolygonOffsetClampEXT", 11, -1 },
+
+ /* GL_KHR_robustness */
+ { "glGetGraphicsResetStatusKHR", 20, -1 },
+ { "glReadnPixelsKHR", 20, -1 },
+ { "glGetnUniformfvKHR", 20, -1 },
+ { "glGetnUniformivKHR", 20, -1 },
+ { "glGetnUniformuivKHR", 20, -1 },
+
+ /* GL_KHR_blend_equation_advanced */
+ { "glBlendBarrierKHR", 20, -1 },
+
{ NULL, 0, -1 }
};
{ "glGetInteger64v", 30, -1 },
{ "glGetIntegeri_v", 30, -1 },
{ "glGetInternalformativ", 30, -1 },
+ { "glGetInternalformati64v", 30, -1 },
// glGetProgramBinary aliases glGetProgramBinaryOES in GLES 2
{ "glGetQueryiv", 30, -1 },
{ "glGetQueryObjectuiv", 30, -1 },
{ "glProgramUniform4uiEXT", 30, -1 },
{ "glProgramUniform4uivEXT", 30, -1 },
+ /* GL_EXT_blend_func_extended */
+ { "glBindFragDataLocationIndexedEXT", 30, -1 },
+ { "glGetFragDataIndexEXT", 30, -1 },
+ { "glBindFragDataLocationEXT", 30, -1 },
+
+ /* GL_OES_texture_border_clamp */
+ { "glTexParameterIivOES", 30, -1 },
+ { "glTexParameterIuivOES", 30, -1 },
+ { "glGetTexParameterIivOES", 30, -1 },
+ { "glGetTexParameterIuivOES", 30, -1 },
+ { "glSamplerParameterIivOES", 30, -1 },
+ { "glSamplerParameterIuivOES", 30, -1 },
+ { "glGetSamplerParameterIivOES", 30, -1 },
+ { "glGetSamplerParameterIuivOES", 30, -1 },
+
+ /* GL_OES_texture_buffer */
+ { "glTexBufferOES", 31, -1 },
+ { "glTexBufferRangeOES", 31, -1 },
+
+ /* GL_OES_sample_shading */
+ { "glMinSampleShadingOES", 30, -1 },
+
+ /* GL_OES_copy_image */
+ { "glCopyImageSubDataOES", 30, -1 },
+
+ /* GL_OES_draw_buffers_indexed */
+ { "glBlendFunciOES", 30, -1 },
+ { "glBlendFuncSeparateiOES", 30, -1 },
+ { "glBlendEquationiOES", 30, -1 },
+ { "glBlendEquationSeparateiOES", 30, -1 },
+ { "glColorMaskiOES", 30, -1 },
+ { "glEnableiOES", 30, -1 },
+ { "glDisableiOES", 30, -1 },
+ { "glIsEnablediOES", 30, -1 },
+
+ /* GL_EXT_base_instance */
+ { "glDrawArraysInstancedBaseInstanceEXT", 30, -1 },
+ { "glDrawElementsInstancedBaseInstanceEXT", 30, -1 },
+ { "glDrawElementsInstancedBaseVertexBaseInstanceEXT", 30, -1 },
+
+ /* GL_EXT_window_rectangles */
+ { "glWindowRectanglesEXT", 30, -1 },
+
{ NULL, 0, -1 }
};
{ "glDrawArraysIndirect", 31, -1 },
{ "glDrawElementsIndirect", 31, -1 },
- // FINISHME: These two functions have not been implemented yet. They come
- // FINISHME: from the ARB_framebuffer_no_attachments extension.
- // { "glFramebufferParameteri", 31, -1 },
- // { "glGetFramebufferParameteriv", 31, -1 },
+ { "glFramebufferParameteri", 31, -1 },
+ { "glGetFramebufferParameteriv", 31, -1 },
{ "glGetProgramInterfaceiv", 31, -1 },
{ "glGetProgramResourceIndex", 31, -1 },
{ "glGetBooleani_v", 31, -1 },
{ "glMemoryBarrier", 31, -1 },
- // FINISHME: This function has not been implemented yet.
- // { "glMemoryBarrierByRegion", 31, -1 },
+ { "glMemoryBarrierByRegion", 31, -1 },
{ "glTexStorage2DMultisample", 31, -1 },
{ "glGetMultisamplefv", 31, -1 },
{ "glVertexAttribBinding", 31, -1 },
{ "glVertexBindingDivisor", 31, -1 },
+ /* GL_OES_texture_storage_multisample_2d_array */
+ { "glTexStorage3DMultisampleOES", 31, -1 },
+
+ /* GL_EXT_buffer_storage */
+ { "glBufferStorageEXT", 31, -1 },
+
+ /* GL_EXT_blend_func_extended */
+ { "glGetProgramResourceLocationIndexEXT", 31, -1 },
+
+ /* GL_OES_geometry_shader */
+ { "glFramebufferTextureOES", 31, -1},
+
+ /* GL_EXT_geometry_shader */
+ // We check for the aliased OES version above
+ // { "glFramebufferTextureEXT", 31, -1},
+
+ /* GL_OES_tessellation_shader */
+ { "glPatchParameteriOES", 31, -1 },
+
+ /* GL_OES_primitive_bound_box */
+ { "glPrimitiveBoundingBoxOES", 31, -1 },
+
+ /* GL_OES_viewport_array */
+ { "glViewportArrayvOES", 31, -1 },
+ { "glViewportIndexedfOES", 31, -1 },
+ { "glViewportIndexedfvOES", 31, -1 },
+ { "glScissorArrayvOES", 31, -1 },
+ { "glScissorIndexedOES", 31, -1 },
+ { "glScissorIndexedvOES", 31, -1 },
+ { "glDepthRangeArrayfvOES", 31, -1 },
+ { "glDepthRangeIndexedfOES", 31, -1 },
+ { "glGetFloati_vOES", 31, -1 },
+
{ NULL, 0, -1 },
};