diff options
Diffstat (limited to 'gfxapi/gles/api/extensions.api')
-rw-r--r-- | gfxapi/gles/api/extensions.api | 2736 |
1 files changed, 2736 insertions, 0 deletions
diff --git a/gfxapi/gles/api/extensions.api b/gfxapi/gles/api/extensions.api new file mode 100644 index 000000000..3e59541f4 --- /dev/null +++ b/gfxapi/gles/api/extensions.api @@ -0,0 +1,2736 @@ +// Copyright (C) 2015 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glActiveShaderProgramEXT(PipelineId pipeline, ProgramId program) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_alpha_test.txt","GL_QCOM_alpha_test") +cmd void glAlphaFuncQCOM(GLenum func, GLclampf ref) { + requiresExtension(GL_QCOM_alpha_test) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/conditional_render.txt","GL_NV_conditional_render") +cmd void glBeginConditionalRenderNV(GLuint id, GLenum mode) { + requiresExtension(GL_NV_conditional_render) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/AMD/performance_monitor.txt","GL_AMD_performance_monitor") +cmd void glBeginPerfMonitorAMD(GLuint monitor) { + requiresExtension(GL_AMD_performance_monitor) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/INTEL/performance_query.txt","GL_INTEL_performance_query") +cmd void glBeginPerfQueryINTEL(GLuint queryHandle) { + requiresExtension(GL_INTEL_performance_query) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_disjoint_timer_query.txt","GL_EXT_disjoint_timer_query") +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_occlusion_query_boolean.txt","GL_EXT_occlusion_query_boolean") +cmd void glBeginQueryEXT(GLenum target, QueryId query) { + requiresExtension(GL_EXT_disjoint_timer_query) + requiresExtension(GL_EXT_occlusion_query_boolean) + // TODO: Multiple extensions + +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glBindProgramPipelineEXT(PipelineId pipeline) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_vertex_array_object.txt","GL_OES_vertex_array_object") +cmd void glBindVertexArrayOES(VertexArrayId array) { + requiresExtension(GL_OES_vertex_array_object) + + ctx := GetContext() + if !(array in ctx.Instances.VertexArrays) { + ctx.Instances.VertexArrays[array] = new!VertexArray() + } + ctx.BoundVertexArray = array +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/blend_equation_advanced.txt","GL_NV_blend_equation_advanced") +cmd void glBlendBarrierNV() { + requiresExtension(GL_NV_blend_equation_advanced) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_draw_buffers_indexed.txt","GL_OES_draw_buffers_indexed") +cmd void glBlendEquationSeparateiOES(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { + requiresExtension(GL_OES_draw_buffers_indexed) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_draw_buffers_indexed.txt","GL_OES_draw_buffers_indexed") +cmd void glBlendEquationiOES(GLuint buf, GLenum mode) { + requiresExtension(GL_OES_draw_buffers_indexed) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_draw_buffers_indexed.txt","GL_OES_draw_buffers_indexed") +cmd void glBlendFuncSeparateiOES(GLuint buf, + GLenum srcRGB, + GLenum dstRGB, + GLenum srcAlpha, + GLenum dstAlpha) { + requiresExtension(GL_OES_draw_buffers_indexed) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_draw_buffers_indexed.txt","GL_OES_draw_buffers_indexed") +cmd void glBlendFunciOES(GLuint buf, GLenum src, GLenum dst) { + requiresExtension(GL_OES_draw_buffers_indexed) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/blend_equation_advanced.txt","GL_NV_blend_equation_advanced") +cmd void glBlendParameteriNV(GLenum pname, GLint value) { + requiresExtension(GL_NV_blend_equation_advanced) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/ANGLE/ANGLE_framebuffer_blit.txt","GL_ANGLE_framebuffer_blit") +cmd void glBlitFramebufferANGLE(GLint srcX0, + GLint srcY0, + GLint srcX1, + GLint srcY1, + GLint dstX0, + GLint dstY0, + GLint dstX1, + GLint dstY1, + GLbitfield mask, + GLenum filter) { + requiresExtension(GL_ANGLE_framebuffer_blit) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_framebuffer_blit.txt","GL_NV_framebuffer_blit") +cmd void glBlitFramebufferNV(GLint srcX0, + GLint srcY0, + GLint srcX1, + GLint srcY1, + GLint dstX0, + GLint dstY0, + GLint dstX1, + GLint dstY1, + GLbitfield mask, + GLenum filter) { + requiresExtension(GL_NV_framebuffer_blit) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_buffer_storage.txt","GL_EXT_buffer_storage") +cmd void glBufferStorageEXT(GLenum target, GLsizeiptr size, const void* data, GLbitfield flags) { + requiresExtension(GL_EXT_buffer_storage) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/APPLE/APPLE_sync.txt","GL_APPLE_sync") +cmd GLenum glClientWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout) { + requiresExtension(GL_APPLE_sync) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_draw_buffers_indexed.txt","GL_OES_draw_buffers_indexed") +cmd void glColorMaskiOES(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { + requiresExtension(GL_OES_draw_buffers_indexed) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_3D.txt","GL_OES_texture_3D") +cmd void glCompressedTexImage3DOES(GLenum target, + GLint level, + GLenum internalformat, + GLsizei width, + GLsizei height, + GLsizei depth, + GLint border, + GLsizei imageSize, + const void* data) { + requiresExtension(GL_OES_texture_3D) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_3D.txt","GL_OES_texture_3D") +cmd void glCompressedTexSubImage3DOES(GLenum target, + GLint level, + GLint xoffset, + GLint yoffset, + GLint zoffset, + GLsizei width, + GLsizei height, + GLsizei depth, + GLenum format, + GLsizei imageSize, + const void* data) { + requiresExtension(GL_OES_texture_3D) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_copy_buffer.txt","GL_NV_copy_buffer") +cmd void glCopyBufferSubDataNV(GLenum readTarget, + GLenum writeTarget, + GLintptr readOffset, + GLintptr writeOffset, + GLsizeiptr size) { + requiresExtension(GL_NV_copy_buffer) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_copy_image.txt","GL_OES_copy_image") +cmd void glCopyImageSubDataOES(GLuint srcName, + GLenum srcTarget, + GLint srcLevel, + GLint srcX, + GLint srcY, + GLint srcZ, + GLuint dstName, + GLenum dstTarget, + GLint dstLevel, + GLint dstX, + GLint dstY, + GLint dstZ, + GLsizei srcWidth, + GLsizei srcHeight, + GLsizei srcDepth) { + requiresExtension(GL_OES_copy_image) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glCopyPathNV(GLuint resultPath, GLuint srcPath) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_3D.txt","GL_OES_texture_3D") +cmd void glCopyTexSubImage3DOES(GLenum target, + GLint level, + GLint xoffset, + GLint yoffset, + GLint zoffset, + GLint x, + GLint y, + GLsizei width, + GLsizei height) { + requiresExtension(GL_OES_texture_3D) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/APPLE/APPLE_copy_texture_levels.txt","GL_APPLE_copy_texture_levels") +cmd void glCopyTextureLevelsAPPLE(GLuint destinationTexture, + GLuint sourceTexture, + GLint sourceBaseLevel, + GLsizei sourceLevelCount) { + requiresExtension(GL_APPLE_copy_texture_levels) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glCoverFillPathInstancedNV(GLsizei numPaths, + GLenum pathNameType, + const void* paths, + GLuint pathBase, + GLenum coverMode, + GLenum transformType, + const GLfloat* transformValues) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glCoverFillPathNV(GLuint path, GLenum coverMode) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glCoverStrokePathInstancedNV(GLsizei numPaths, + GLenum pathNameType, + const void* paths, + GLuint pathBase, + GLenum coverMode, + GLenum transformType, + const GLfloat* transformValues) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glCoverStrokePathNV(GLuint path, GLenum coverMode) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/EGL_NV_coverage_sample.txt","GL_NV_coverage_sample") +cmd void glCoverageMaskNV(GLboolean mask) { + requiresExtension(GL_NV_coverage_sample) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/EGL_NV_coverage_sample.txt","GL_NV_coverage_sample") +cmd void glCoverageOperationNV(GLenum operation) { + requiresExtension(GL_NV_coverage_sample) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/INTEL/performance_query.txt","GL_INTEL_performance_query") +cmd void glCreatePerfQueryINTEL(GLuint queryId, GLuint* queryHandle) { + requiresExtension(GL_INTEL_performance_query) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd GLuint glCreateShaderProgramvEXT(GLenum type, GLsizei count, const GLchar** strings) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/fence.txt","GL_NV_fence") +cmd void glDeleteFencesNV(GLsizei n, const GLuint* fences) { + requiresExtension(GL_NV_fence) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glDeletePathsNV(GLuint path, GLsizei range) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/AMD/performance_monitor.txt","GL_AMD_performance_monitor") +cmd void glDeletePerfMonitorsAMD(GLsizei n, GLuint* monitors) { + requiresExtension(GL_AMD_performance_monitor) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/INTEL/performance_query.txt","GL_INTEL_performance_query") +cmd void glDeletePerfQueryINTEL(GLuint queryHandle) { + requiresExtension(GL_INTEL_performance_query) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glDeleteProgramPipelinesEXT(GLsizei n, const PipelineId* pipelines) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_disjoint_timer_query.txt","GL_EXT_disjoint_timer_query") +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_occlusion_query_boolean.txt","GL_EXT_occlusion_query_boolean") +cmd void glDeleteQueriesEXT(GLsizei count, const QueryId* queries) { + requiresExtension(GL_EXT_disjoint_timer_query) + requiresExtension(GL_EXT_occlusion_query_boolean) + // TODO: Multiple extensions + + q := queries[0:count] + ctx := GetContext() + for i in (0 .. count) { + ctx.Instances.Queries[q[i]] = null + } +} + +@Doc("https://www.khronos.org/registry/gles/extensions/APPLE/APPLE_sync.txt","GL_APPLE_sync") +cmd void glDeleteSyncAPPLE(GLsync sync) { + requiresExtension(GL_APPLE_sync) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_vertex_array_object.txt","GL_OES_vertex_array_object") +cmd void glDeleteVertexArraysOES(GLsizei count, const VertexArrayId* arrays) { + requiresExtension(GL_OES_vertex_array_object) + + ctx := GetContext() + a := arrays[0:count] + for i in (0 .. count) { + ctx.Instances.VertexArrays[a[i]] = null + } +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_viewport_array.txt","GL_NV_viewport_array") +cmd void glDepthRangeArrayfvNV(GLuint first, GLsizei count, const GLfloat* v) { + requiresExtension(GL_NV_viewport_array) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_viewport_array.txt","GL_NV_viewport_array") +cmd void glDepthRangeIndexedfNV(GLuint index, GLfloat n, GLfloat f) { + requiresExtension(GL_NV_viewport_array) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_driver_control.txt","GL_QCOM_driver_control") +cmd void glDisableDriverControlQCOM(GLuint driverControl) { + requiresExtension(GL_QCOM_driver_control) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_viewport_array.txt","GL_NV_viewport_array") +cmd void glDisableiNV(GLenum target, GLuint index) { + requiresExtension(GL_NV_viewport_array) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_draw_buffers_indexed.txt","GL_OES_draw_buffers_indexed") +cmd void glDisableiOES(GLenum target, GLuint index) { + requiresExtension(GL_OES_draw_buffers_indexed) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_discard_framebuffer.txt","GL_EXT_discard_framebuffer") +cmd void glDiscardFramebufferEXT(GLenum target, + GLsizei numAttachments, + const GLenum* attachments) { + requiresExtension(GL_EXT_discard_framebuffer) + +} + +@Doc("https://www.khronos.org/registry/gles/extensions/ANGLE/ANGLE_instanced_arrays.txt","GL_ANGLE_instanced_arrays") +cmd void glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount) { + requiresExtension(GL_ANGLE_instanced_arrays) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_base_instance.txt","GL_EXT_base_instance") +cmd void glDrawArraysInstancedBaseInstanceEXT(GLenum mode, + GLint first, + GLsizei count, + GLsizei instancecount, + GLuint baseinstance) { + requiresExtension(GL_EXT_base_instance) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/draw_instanced.txt","GL_EXT_draw_instanced") +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_instanced_arrays.txt","GL_EXT_instanced_arrays") +cmd void glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount) { + requiresExtension(GL_EXT_draw_instanced) + requiresExtension(GL_EXT_instanced_arrays) + // TODO: Multiple extensions + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_draw_instanced.txt","GL_NV_draw_instanced") +cmd void glDrawArraysInstancedNV(GLenum mode, GLint first, GLsizei count, GLsizei primcount) { + requiresExtension(GL_NV_draw_instanced) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_draw_buffers.txt","GL_EXT_draw_buffers") +cmd void glDrawBuffersEXT(GLsizei n, const GLenum* bufs) { + requiresExtension(GL_EXT_draw_buffers) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_multiview_draw_buffers.txt","GL_EXT_multiview_draw_buffers") +cmd void glDrawBuffersIndexedEXT(GLint n, const GLenum* location, const GLint* indices) { + requiresExtension(GL_EXT_multiview_draw_buffers) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_draw_buffers.txt","GL_NV_draw_buffers") +cmd void glDrawBuffersNV(GLsizei n, const GLenum* bufs) { + requiresExtension(GL_NV_draw_buffers) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_draw_elements_base_vertex.txt","GL_EXT_draw_elements_base_vertex") +cmd void glDrawElementsBaseVertexEXT(GLenum mode, + GLsizei count, + GLenum type, + const void* indices, + GLint basevertex) { + requiresExtension(GL_EXT_draw_elements_base_vertex) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_draw_elements_base_vertex.txt","GL_OES_draw_elements_base_vertex") +cmd void glDrawElementsBaseVertexOES(GLenum mode, + GLsizei count, + GLenum type, + const void* indices, + GLint basevertex) { + requiresExtension(GL_OES_draw_elements_base_vertex) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/ANGLE/ANGLE_instanced_arrays.txt","GL_ANGLE_instanced_arrays") +cmd void glDrawElementsInstancedANGLE(GLenum mode, + GLsizei count, + GLenum type, + const void* indices, + GLsizei primcount) { + requiresExtension(GL_ANGLE_instanced_arrays) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_base_instance.txt","GL_EXT_base_instance") +cmd void glDrawElementsInstancedBaseInstanceEXT(GLenum mode, + GLsizei count, + GLenum type, + const void* indices, + GLsizei instancecount, + GLuint baseinstance) { + requiresExtension(GL_EXT_base_instance) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_draw_elements_base_vertex.txt","GL_EXT_draw_elements_base_vertex") +cmd void glDrawElementsInstancedBaseVertexEXT(GLenum mode, + GLsizei count, + GLenum type, + const void* indices, + GLsizei instancecount, + GLint basevertex) { + requiresExtension(GL_EXT_draw_elements_base_vertex) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_draw_elements_base_vertex.txt","GL_OES_draw_elements_base_vertex") +cmd void glDrawElementsInstancedBaseVertexOES(GLenum mode, + GLsizei count, + GLenum type, + const void* indices, + GLsizei instancecount, + GLint basevertex) { + requiresExtension(GL_OES_draw_elements_base_vertex) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_base_instance.txt","GL_EXT_base_instance") +cmd void glDrawElementsInstancedBaseVertexBaseInstanceEXT(GLenum mode, + GLsizei count, + GLenum type, + const void* indices, + GLsizei instancecount, + GLint basevertex, + GLuint baseinstance) { + requiresExtension(GL_EXT_base_instance) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/draw_instanced.txt","GL_EXT_draw_instanced") +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_instanced_arrays.txt","GL_EXT_instanced_arrays") +cmd void glDrawElementsInstancedEXT(GLenum mode, + GLsizei count, + GLenum type, + const void* indices, + GLsizei primcount) { + requiresExtension(GL_EXT_draw_instanced) + requiresExtension(GL_EXT_instanced_arrays) + // TODO: Multiple extensions + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_draw_instanced.txt","GL_NV_draw_instanced") +cmd void glDrawElementsInstancedNV(GLenum mode, + GLsizei count, + GLenum type, + const void* indices, + GLsizei primcount) { + requiresExtension(GL_NV_draw_instanced) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_draw_elements_base_vertex.txt","GL_EXT_draw_elements_base_vertex") +cmd void glDrawRangeElementsBaseVertexEXT(GLenum mode, + GLuint start, + GLuint end, + GLsizei count, + GLenum type, + const void* indices, + GLint basevertex) { + requiresExtension(GL_EXT_draw_elements_base_vertex) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_draw_elements_base_vertex.txt","GL_OES_draw_elements_base_vertex") +cmd void glDrawRangeElementsBaseVertexOES(GLenum mode, + GLuint start, + GLuint end, + GLsizei count, + GLenum type, + const void* indices, + GLint basevertex) { + requiresExtension(GL_OES_draw_elements_base_vertex) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_EGL_image.txt","GL_OES_EGL_image") +cmd void glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image) { + requiresExtension(GL_OES_EGL_image) + +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_EGL_image.txt","GL_OES_EGL_image") +cmd void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image) { + requiresExtension(GL_OES_EGL_image) + +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_driver_control.txt","GL_QCOM_driver_control") +cmd void glEnableDriverControlQCOM(GLuint driverControl) { + requiresExtension(GL_QCOM_driver_control) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_viewport_array.txt","GL_NV_viewport_array") +cmd void glEnableiNV(GLenum target, GLuint index) { + requiresExtension(GL_NV_viewport_array) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_draw_buffers_indexed.txt","GL_OES_draw_buffers_indexed") +cmd void glEnableiOES(GLenum target, GLuint index) { + requiresExtension(GL_OES_draw_buffers_indexed) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/conditional_render.txt","GL_NV_conditional_render") +cmd void glEndConditionalRenderNV() { + requiresExtension(GL_NV_conditional_render) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/AMD/performance_monitor.txt","GL_AMD_performance_monitor") +cmd void glEndPerfMonitorAMD(GLuint monitor) { + requiresExtension(GL_AMD_performance_monitor) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/INTEL/performance_query.txt","GL_INTEL_performance_query") +cmd void glEndPerfQueryINTEL(GLuint queryHandle) { + requiresExtension(GL_INTEL_performance_query) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_disjoint_timer_query.txt","GL_EXT_disjoint_timer_query") +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_occlusion_query_boolean.txt","GL_EXT_occlusion_query_boolean") +cmd void glEndQueryEXT(GLenum target) { + requiresExtension(GL_EXT_disjoint_timer_query) + requiresExtension(GL_EXT_occlusion_query_boolean) + // TODO: Multiple extensions + +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_tiled_rendering.txt","GL_QCOM_tiled_rendering") +cmd void glEndTilingQCOM(GLbitfield preserve_mask) { + requiresExtension(GL_QCOM_tiled_rendering) + +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_extended_get.txt","GL_QCOM_extended_get") +cmd void glExtGetBufferPointervQCOM(GLenum target, void** params) { + requiresExtension(GL_QCOM_extended_get) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_extended_get.txt","GL_QCOM_extended_get") +cmd void glExtGetBuffersQCOM(BufferId* buffers, GLint maxBuffers, GLint* numBuffers) { + requiresExtension(GL_QCOM_extended_get) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_extended_get.txt","GL_QCOM_extended_get") +cmd void glExtGetFramebuffersQCOM(FramebufferId* framebuffers, + GLint maxFramebuffers, + GLint* numFramebuffers) { + requiresExtension(GL_QCOM_extended_get) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_extended_get2.txt","GL_QCOM_extended_get2") +cmd void glExtGetProgramBinarySourceQCOM(ProgramId program, + GLenum shadertype, + GLchar* source, + GLint* length) { + requiresExtension(GL_QCOM_extended_get2) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_extended_get2.txt","GL_QCOM_extended_get2") +cmd void glExtGetProgramsQCOM(ProgramId* programs, GLint maxPrograms, GLint* numPrograms) { + requiresExtension(GL_QCOM_extended_get2) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_extended_get.txt","GL_QCOM_extended_get") +cmd void glExtGetRenderbuffersQCOM(RenderbufferId* renderbuffers, + GLint maxRenderbuffers, + GLint* numRenderbuffers) { + requiresExtension(GL_QCOM_extended_get) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_extended_get2.txt","GL_QCOM_extended_get2") +cmd void glExtGetShadersQCOM(ShaderId* shaders, GLint maxShaders, GLint* numShaders) { + requiresExtension(GL_QCOM_extended_get2) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_extended_get.txt","GL_QCOM_extended_get") +cmd void glExtGetTexLevelParameterivQCOM(TextureId texture, + GLenum face, + GLint level, + GLenum pname, + GLint* params) { + requiresExtension(GL_QCOM_extended_get) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_extended_get.txt","GL_QCOM_extended_get") +cmd void glExtGetTexSubImageQCOM(GLenum target, + GLint level, + GLint xoffset, + GLint yoffset, + GLint zoffset, + GLsizei width, + GLsizei height, + GLsizei depth, + GLenum format, + GLenum type, + void* texels) { + requiresExtension(GL_QCOM_extended_get) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_extended_get.txt","GL_QCOM_extended_get") +cmd void glExtGetTexturesQCOM(TextureId* textures, GLint maxTextures, GLint* numTextures) { + requiresExtension(GL_QCOM_extended_get) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_extended_get2.txt","GL_QCOM_extended_get2") +cmd GLboolean glExtIsProgramBinaryQCOM(ProgramId program) { + requiresExtension(GL_QCOM_extended_get2) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_extended_get.txt","GL_QCOM_extended_get") +cmd void glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param) { + requiresExtension(GL_QCOM_extended_get) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/APPLE/APPLE_sync.txt","GL_APPLE_sync") +cmd GLsync glFenceSyncAPPLE(GLenum condition, GLbitfield flags) { + requiresExtension(GL_APPLE_sync) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/fence.txt","GL_NV_fence") +cmd void glFinishFenceNV(GLuint fence) { + requiresExtension(GL_NV_fence) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_map_buffer_range.txt","GL_EXT_map_buffer_range") +cmd void glFlushMappedBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length) { + requiresExtension(GL_EXT_map_buffer_range) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_multisampled_render_to_texture.txt","GL_EXT_multisampled_render_to_texture") +cmd void glFramebufferTexture2DMultisampleEXT(GLenum target, + GLenum attachment, + GLenum textarget, + TextureId texture, + GLint level, + GLsizei samples) { + requiresExtension(GL_EXT_multisampled_render_to_texture) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/IMG/IMG_multisampled_render_to_texture.txt","GL_IMG_multisampled_render_to_texture") +cmd void glFramebufferTexture2DMultisampleIMG(GLenum target, + GLenum attachment, + GLenum textarget, + TextureId texture, + GLint level, + GLsizei samples) { + requiresExtension(GL_IMG_multisampled_render_to_texture) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_3D.txt","GL_OES_texture_3D") +cmd void glFramebufferTexture3DOES(GLenum target, + GLenum attachment, + GLenum textarget, + TextureId texture, + GLint level, + GLint zoffset) { + requiresExtension(GL_OES_texture_3D) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_geometry_shader.txt","GL_OES_geometry_shader") +cmd void glFramebufferTextureOES(GLenum target, GLenum attachment, TextureId texture, GLint level) { + requiresExtension(GL_OES_geometry_shader) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OVR/multiview.txt","GL_OVR_multiview") +cmd void glFramebufferTextureMultiviewOVR(GLenum target, + GLenum attachment, + TextureId texture, + GLint level, + GLint baseViewIndex, + GLsizei numViews) { + requiresExtension(GL_OVR_multiview) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/fence.txt","GL_NV_fence") +cmd void glGenFencesNV(GLsizei n, GLuint* fences) { + requiresExtension(GL_NV_fence) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd GLuint glGenPathsNV(GLsizei range) { + requiresExtension(GL_NV_path_rendering) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/AMD/performance_monitor.txt","GL_AMD_performance_monitor") +cmd void glGenPerfMonitorsAMD(GLsizei n, GLuint* monitors) { + requiresExtension(GL_AMD_performance_monitor) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glGenProgramPipelinesEXT(GLsizei n, PipelineId* pipelines) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_disjoint_timer_query.txt","GL_EXT_disjoint_timer_query") +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_occlusion_query_boolean.txt","GL_EXT_occlusion_query_boolean") +cmd void glGenQueriesEXT(GLsizei count, QueryId* queries) { + requiresExtension(GL_EXT_disjoint_timer_query) + requiresExtension(GL_EXT_occlusion_query_boolean) + // TODO: Multiple extensions + + q := queries[0:count] + ctx := GetContext() + for i in (0 .. count) { + id := as!QueryId(?) + ctx.Instances.Queries[id] = new!Query() + q[i] = id + } +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_vertex_array_object.txt","GL_OES_vertex_array_object") +cmd void glGenVertexArraysOES(GLsizei count, VertexArrayId* arrays) { + requiresExtension(GL_OES_vertex_array_object) + + a := arrays[0:count] + ctx := GetContext() + for i in (0 .. count) { + id := as!VertexArrayId(?) + ctx.Instances.VertexArrays[id] = new!VertexArray() + a[i] = id + } +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_mapbuffer.txt","GL_OES_mapbuffer") +cmd void glGetBufferPointervOES(GLenum target, GLenum pname, void** params) { + requiresExtension(GL_OES_mapbuffer) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_driver_control.txt","GL_QCOM_driver_control") +cmd void glGetDriverControlStringQCOM(GLuint driverControl, + GLsizei bufSize, + GLsizei* length, + GLchar* driverControlString) { + requiresExtension(GL_QCOM_driver_control) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_driver_control.txt","GL_QCOM_driver_control") +cmd void glGetDriverControlsQCOM(GLint* num, GLsizei size, GLuint* driverControls) { + requiresExtension(GL_QCOM_driver_control) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/fence.txt","GL_NV_fence") +cmd void glGetFenceivNV(GLuint fence, GLenum pname, GLint* params) { + requiresExtension(GL_NV_fence) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/INTEL/performance_query.txt","GL_INTEL_performance_query") +cmd void glGetFirstPerfQueryIdINTEL(GLuint* queryId) { + requiresExtension(GL_INTEL_performance_query) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_viewport_array.txt","GL_NV_viewport_array") +cmd void glGetFloati_vNV(GLenum target, GLuint index, GLfloat* data) { + requiresExtension(GL_NV_viewport_array) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_robustness.txt","GL_EXT_robustness") +cmd GLenum glGetGraphicsResetStatusEXT() { + requiresExtension(GL_EXT_robustness) + + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/KHR/robustness.txt","GL_KHR_robustness") +cmd GLenum glGetGraphicsResetStatusKHR() { + requiresExtension(GL_KHR_robustness) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/bindless_texture.txt","GL_NV_bindless_texture") +cmd GLuint64 glGetImageHandleNV(TextureId texture, + GLint level, + GLboolean layered, + GLint layer, + GLenum format) { + requiresExtension(GL_NV_bindless_texture) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/APPLE/APPLE_sync.txt","GL_APPLE_sync") +cmd void glGetInteger64vAPPLE(GLenum pname, GLint64* params) { + requiresExtension(GL_APPLE_sync) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_multiview_draw_buffers.txt","GL_EXT_multiview_draw_buffers") +cmd void glGetIntegeri_vEXT(GLenum target, GLuint index, GLint* data) { + requiresExtension(GL_EXT_multiview_draw_buffers) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/internalformat_sample_query.txt","GL_NV_internalformat_sample_query") +cmd void glGetInternalformatSampleivNV(GLenum target, + GLenum internalformat, + GLsizei samples, + GLenum pname, + GLsizei bufSize, + GLint* params) { + requiresExtension(GL_NV_internalformat_sample_query) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/INTEL/performance_query.txt","GL_INTEL_performance_query") +cmd void glGetNextPerfQueryIdINTEL(GLuint queryId, GLuint* nextQueryId) { + requiresExtension(GL_INTEL_performance_query) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_debug_label.txt","GL_EXT_debug_label") +cmd void glGetObjectLabelEXT(GLenum type, + GLuint object, + GLsizei bufSize, + GLsizei* length, + GLchar* label) { + requiresExtension(GL_EXT_debug_label) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glGetPathCommandsNV(GLuint path, GLubyte* commands) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glGetPathCoordsNV(GLuint path, GLfloat* coords) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glGetPathDashArrayNV(GLuint path, GLfloat* dashArray) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd GLfloat glGetPathLengthNV(GLuint path, GLsizei startSegment, GLsizei numSegments) { + requiresExtension(GL_NV_path_rendering) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glGetPathMetricRangeNV(GLbitfield metricQueryMask, + GLuint firstPathName, + GLsizei numPaths, + GLsizei stride, + GLfloat* metrics) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glGetPathMetricsNV(GLbitfield metricQueryMask, + GLsizei numPaths, + GLenum pathNameType, + const void* paths, + GLuint pathBase, + GLsizei stride, + GLfloat* metrics) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glGetPathParameterfvNV(GLuint path, GLenum pname, GLfloat* value) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glGetPathParameterivNV(GLuint path, GLenum pname, GLint* value) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glGetPathSpacingNV(GLenum pathListMode, + GLsizei numPaths, + GLenum pathNameType, + const void* paths, + GLuint pathBase, + GLfloat advanceScale, + GLfloat kerningScale, + GLenum transformType, + GLfloat* returnedSpacing) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/INTEL/performance_query.txt","GL_INTEL_performance_query") +cmd void glGetPerfCounterInfoINTEL(GLuint queryId, + GLuint counterId, + GLuint counterNameLength, + GLchar* counterName, + GLuint counterDescLength, + GLchar* counterDesc, + GLuint* counterOffset, + GLuint* counterDataSize, + GLuint* counterTypeEnum, + GLuint* counterDataTypeEnum, + GLuint64* rawCounterMaxValue) { + requiresExtension(GL_INTEL_performance_query) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/AMD/performance_monitor.txt","GL_AMD_performance_monitor") +cmd void glGetPerfMonitorCounterDataAMD(GLuint monitor, + GLenum pname, + GLsizei dataSize, + GLuint* data, + GLint* bytesWritten) { + requiresExtension(GL_AMD_performance_monitor) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/AMD/performance_monitor.txt","GL_AMD_performance_monitor") +cmd void glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, void* data) { + requiresExtension(GL_AMD_performance_monitor) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/AMD/performance_monitor.txt","GL_AMD_performance_monitor") +cmd void glGetPerfMonitorCounterStringAMD(GLuint group, + GLuint counter, + GLsizei bufSize, + GLsizei* length, + GLchar* counterString) { + requiresExtension(GL_AMD_performance_monitor) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/AMD/performance_monitor.txt","GL_AMD_performance_monitor") +cmd void glGetPerfMonitorCountersAMD(GLuint group, + GLint* numCounters, + GLint* maxActiveCounters, + GLsizei counterSize, + GLuint* counters) { + requiresExtension(GL_AMD_performance_monitor) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/AMD/performance_monitor.txt","GL_AMD_performance_monitor") +cmd void glGetPerfMonitorGroupStringAMD(GLuint group, + GLsizei bufSize, + GLsizei* length, + GLchar* groupString) { + requiresExtension(GL_AMD_performance_monitor) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/AMD/performance_monitor.txt","GL_AMD_performance_monitor") +cmd void glGetPerfMonitorGroupsAMD(GLint* numGroups, GLsizei groupsSize, GLuint* groups) { + requiresExtension(GL_AMD_performance_monitor) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/INTEL/performance_query.txt","GL_INTEL_performance_query") +cmd void glGetPerfQueryDataINTEL(GLuint queryHandle, + GLuint flags, + GLsizei dataSize, + GLvoid* data, + GLuint* bytesWritten) { + requiresExtension(GL_INTEL_performance_query) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/INTEL/performance_query.txt","GL_INTEL_performance_query") +cmd void glGetPerfQueryIdByNameINTEL(GLchar* queryName, GLuint* queryId) { + requiresExtension(GL_INTEL_performance_query) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/INTEL/performance_query.txt","GL_INTEL_performance_query") +cmd void glGetPerfQueryInfoINTEL(GLuint queryId, + GLuint queryNameLength, + GLchar* queryName, + GLuint* dataSize, + GLuint* noCounters, + GLuint* noInstances, + GLuint* capsMask) { + requiresExtension(GL_INTEL_performance_query) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_get_program_binary.txt","GL_OES_get_program_binary") +cmd void glGetProgramBinaryOES(ProgramId program, + GLsizei buffer_size, + GLsizei* bytes_written, + GLenum* binary_format, + void* binary) { + requiresExtension(GL_OES_get_program_binary) + + l := as!s32(?) + bytes_written[0] = l + binary_format[0] = ? + write(binary[0:l]) +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glGetProgramPipelineInfoLogEXT(PipelineId pipeline, + GLsizei bufSize, + GLsizei* length, + GLchar* infoLog) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glGetProgramPipelineivEXT(PipelineId pipeline, GLenum pname, GLint* params) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glGetProgramResourcefvNV(ProgramId program, + GLenum programInterface, + GLuint index, + GLsizei propCount, + const GLenum* props, + GLsizei bufSize, + GLsizei* length, + GLfloat* params) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_disjoint_timer_query.txt","GL_EXT_disjoint_timer_query") +cmd void glGetQueryObjecti64vEXT(QueryId query, GLenum parameter, GLint64* value) { + requiresExtension(GL_EXT_disjoint_timer_query) + + value[0] = ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_disjoint_timer_query.txt","GL_EXT_disjoint_timer_query") +cmd void glGetQueryObjectivEXT(QueryId query, GLenum parameter, GLint* value) { + requiresExtension(GL_EXT_disjoint_timer_query) + + value[0] = ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_disjoint_timer_query.txt","GL_EXT_disjoint_timer_query") +cmd void glGetQueryObjectui64vEXT(QueryId query, GLenum parameter, GLuint64* value) { + requiresExtension(GL_EXT_disjoint_timer_query) + + value[0] = ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_disjoint_timer_query.txt","GL_EXT_disjoint_timer_query") +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_occlusion_query_boolean.txt","GL_EXT_occlusion_query_boolean") +cmd void glGetQueryObjectuivEXT(QueryId query, GLenum parameter, GLuint* value) { + requiresExtension(GL_EXT_disjoint_timer_query) + requiresExtension(GL_EXT_occlusion_query_boolean) + // TODO: Multiple extensions + + value[0] = ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_disjoint_timer_query.txt","GL_EXT_disjoint_timer_query") +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_occlusion_query_boolean.txt","GL_EXT_occlusion_query_boolean") +cmd void glGetQueryivEXT(GLenum target, GLenum parameter, GLint* value) { + requiresExtension(GL_EXT_disjoint_timer_query) + requiresExtension(GL_EXT_occlusion_query_boolean) + // TODO: Multiple extensions + + value[0] = ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_border_clamp.txt","GL_OES_texture_border_clamp") +cmd void glGetSamplerParameterIivOES(SamplerId sampler, GLenum pname, GLint* params) { + requiresExtension(GL_OES_texture_border_clamp) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_border_clamp.txt","GL_OES_texture_border_clamp") +cmd void glGetSamplerParameterIuivOES(SamplerId sampler, GLenum pname, GLuint* params) { + requiresExtension(GL_OES_texture_border_clamp) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/APPLE/APPLE_sync.txt","GL_APPLE_sync") +cmd void glGetSyncivAPPLE(GLsync sync, + GLenum pname, + GLsizei bufSize, + GLsizei* length, + GLint* values) { + requiresExtension(GL_APPLE_sync) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_border_clamp.txt","GL_OES_texture_border_clamp") +cmd void glGetTexParameterIivOES(GLenum target, GLenum pname, GLint* params) { + requiresExtension(GL_OES_texture_border_clamp) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_border_clamp.txt","GL_OES_texture_border_clamp") +cmd void glGetTexParameterIuivOES(GLenum target, GLenum pname, GLuint* params) { + requiresExtension(GL_OES_texture_border_clamp) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/bindless_texture.txt","GL_NV_bindless_texture") +cmd GLuint64 glGetTextureHandleNV(TextureId texture) { + requiresExtension(GL_NV_bindless_texture) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/bindless_texture.txt","GL_NV_bindless_texture") +cmd GLuint64 glGetTextureSamplerHandleNV(TextureId texture, SamplerId sampler) { + requiresExtension(GL_NV_bindless_texture) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/ANGLE/ANGLE_translated_shader_source.txt","GL_ANGLE_translated_shader_source") +cmd void glGetTranslatedShaderSourceANGLE(ShaderId shader, + GLsizei bufsize, + GLsizei* length, + GLchar* source) { + requiresExtension(GL_ANGLE_translated_shader_source) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_robustness.txt","GL_EXT_robustness") +cmd void glGetnUniformfvEXT(ProgramId program, + UniformLocation location, + GLsizei bufSize, + GLfloat* params) { + requiresExtension(GL_EXT_robustness) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/KHR/robustness.txt","GL_KHR_robustness") +cmd void glGetnUniformfvKHR(ProgramId program, + UniformLocation location, + GLsizei bufSize, + GLfloat* params) { + requiresExtension(GL_KHR_robustness) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_robustness.txt","GL_EXT_robustness") +cmd void glGetnUniformivEXT(ProgramId program, + UniformLocation location, + GLsizei bufSize, + GLint* params) { + requiresExtension(GL_EXT_robustness) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/KHR/robustness.txt","GL_KHR_robustness") +cmd void glGetnUniformivKHR(ProgramId program, + UniformLocation location, + GLsizei bufSize, + GLint* params) { + requiresExtension(GL_KHR_robustness) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/KHR/robustness.txt","GL_KHR_robustness") +cmd void glGetnUniformuivKHR(ProgramId program, + UniformLocation location, + GLsizei bufSize, + GLuint* params) { + requiresExtension(GL_KHR_robustness) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_debug_marker.txt","GL_EXT_debug_marker") +cmd void glInsertEventMarkerEXT(GLsizei length, const GLchar* marker) { + requiresExtension(GL_EXT_debug_marker) + + if length > 0 { + read(marker[0:length]) + } else { + _ = as!string(marker) + } +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glInterpolatePathsNV(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_draw_buffers_indexed.txt","GL_OES_draw_buffers_indexed") +cmd bool glIsEnablediOES(GLenum target, GLuint index) { + requiresExtension(GL_OES_draw_buffers_indexed) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_viewport_array.txt","GL_NV_viewport_array") +cmd bool glIsEnablediNV(GLenum target, GLuint index) { + requiresExtension(GL_NV_viewport_array) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/fence.txt","GL_NV_fence") +cmd bool glIsFenceNV(GLuint fence) { + requiresExtension(GL_NV_fence) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/bindless_texture.txt","GL_NV_bindless_texture") +cmd bool glIsImageHandleResidentNV(GLuint64 handle) { + requiresExtension(GL_NV_bindless_texture) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd bool glIsPathNV(GLuint path) { + requiresExtension(GL_NV_path_rendering) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd bool glIsPointInFillPathNV(GLuint path, GLuint mask, GLfloat x, GLfloat y) { + requiresExtension(GL_NV_path_rendering) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd bool glIsPointInStrokePathNV(GLuint path, GLfloat x, GLfloat y) { + requiresExtension(GL_NV_path_rendering) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd bool glIsProgramPipelineEXT(PipelineId pipeline) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_disjoint_timer_query.txt","GL_EXT_disjoint_timer_query") +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_occlusion_query_boolean.txt","GL_EXT_occlusion_query_boolean") +cmd bool glIsQueryEXT(QueryId query) { + requiresExtension(GL_EXT_disjoint_timer_query) + requiresExtension(GL_EXT_occlusion_query_boolean) + // TODO: Multiple extensions + + ctx := GetContext() + return query in ctx.Instances.Queries +} + +@Doc("https://www.khronos.org/registry/gles/extensions/APPLE/APPLE_sync.txt","GL_APPLE_sync") +cmd bool glIsSyncAPPLE(GLsync sync) { + requiresExtension(GL_APPLE_sync) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/bindless_texture.txt","GL_NV_bindless_texture") +cmd bool glIsTextureHandleResidentNV(GLuint64 handle) { + requiresExtension(GL_NV_bindless_texture) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_vertex_array_object.txt","GL_OES_vertex_array_object") +cmd bool glIsVertexArrayOES(VertexArrayId array) { + requiresExtension(GL_OES_vertex_array_object) + + ctx := GetContext() + return array in ctx.Instances.VertexArrays +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_debug_label.txt","GL_EXT_debug_label") +cmd void glLabelObjectEXT(GLenum type, GLuint object, GLsizei length, const GLchar* label) { + requiresExtension(GL_EXT_debug_label) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/bindless_texture.txt","GL_NV_bindless_texture") +cmd void glMakeImageHandleNonResidentNV(GLuint64 handle) { + requiresExtension(GL_NV_bindless_texture) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/bindless_texture.txt","GL_NV_bindless_texture") +cmd void glMakeImageHandleResidentNV(GLuint64 handle, GLenum access) { + requiresExtension(GL_NV_bindless_texture) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/bindless_texture.txt","GL_NV_bindless_texture") +cmd void glMakeTextureHandleNonResidentNV(GLuint64 handle) { + requiresExtension(GL_NV_bindless_texture) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/bindless_texture.txt","GL_NV_bindless_texture") +cmd void glMakeTextureHandleResidentNV(GLuint64 handle) { + requiresExtension(GL_NV_bindless_texture) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_mapbuffer.txt","GL_OES_mapbuffer") +cmd void* glMapBufferOES(GLenum target, GLenum access) { + requiresExtension(GL_OES_mapbuffer) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_map_buffer_range.txt","GL_EXT_map_buffer_range") +cmd void* glMapBufferRangeEXT(GLenum target, + GLintptr offset, + GLsizeiptr length, + GLbitfield access) { + requiresExtension(GL_EXT_map_buffer_range) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glMatrixLoad3x2fNV(GLenum matrixMode, const GLfloat* m) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glMatrixLoad3x3fNV(GLenum matrixMode, const GLfloat* m) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glMatrixLoadTranspose3x3fNV(GLenum matrixMode, const GLfloat* m) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glMatrixMult3x2fNV(GLenum matrixMode, const GLfloat* m) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glMatrixMult3x3fNV(GLenum matrixMode, const GLfloat* m) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glMatrixMultTranspose3x3fNV(GLenum matrixMode, const GLfloat* m) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/multi_draw_arrays.txt","GL_EXT_multi_draw_arrays") +cmd void glMultiDrawArraysEXT(GLenum mode, + const GLint* first, + const GLsizei* count, + GLsizei primcount) { + requiresExtension(GL_EXT_multi_draw_arrays) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_multi_draw_indirect.txt","GL_EXT_multi_draw_indirect") +cmd void glMultiDrawArraysIndirectEXT(GLenum mode, + const void* indirect, + GLsizei drawcount, + GLsizei stride) { + requiresExtension(GL_EXT_multi_draw_indirect) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_draw_elements_base_vertex.txt","GL_EXT_draw_elements_base_vertex") +cmd void glMultiDrawElementsBaseVertexEXT(GLenum mode, + const GLsizei* count, + GLenum type, + const void* const* indices, + GLsizei primcount, + const GLint* basevertex) { + requiresExtension(GL_EXT_draw_elements_base_vertex) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_draw_elements_base_vertex.txt","GL_OES_draw_elements_base_vertex") +cmd void glMultiDrawElementsBaseVertexOES(GLenum mode, + const GLsizei* count, + GLenum type, + const void* const* indices, + GLsizei primcount, + const GLint* basevertex) { + requiresExtension(GL_OES_draw_elements_base_vertex) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/multi_draw_arrays.txt","GL_EXT_multi_draw_arrays") +cmd void glMultiDrawElementsEXT(GLenum mode, + const GLsizei* count, + GLenum type, + const void* const* indices, + GLsizei primcount) { + requiresExtension(GL_EXT_multi_draw_arrays) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_multi_draw_indirect.txt","GL_EXT_multi_draw_indirect") +cmd void glMultiDrawElementsIndirectEXT(GLenum mode, + GLenum type, + const void* indirect, + GLsizei drawcount, + GLsizei stride) { + requiresExtension(GL_EXT_multi_draw_indirect) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_tessellation_shader.txt","GL_OES_tessellation_shader") +cmd void glPatchParameteriOES(GLenum pname, GLint value) { + requiresExtension(GL_OES_tessellation_shader) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glPathCommandsNV(GLuint path, + GLsizei numCommands, + const GLubyte* commands, + GLsizei numCoords, + GLenum coordType, + const void* coords) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glPathCoordsNV(GLuint path, GLsizei numCoords, GLenum coordType, const void* coords) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glPathCoverDepthFuncNV(GLenum func) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glPathDashArrayNV(GLuint path, GLsizei dashCount, const GLfloat* dashArray) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd GLenum glPathGlyphIndexArrayNV(GLuint firstPathName, + GLenum fontTarget, + const void* fontName, + GLbitfield fontStyle, + GLuint firstGlyphIndex, + GLsizei numGlyphs, + GLuint pathParameterTemplate, + GLfloat emScale) { + requiresExtension(GL_NV_path_rendering) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd GLenum glPathGlyphIndexRangeNV(GLenum fontTarget, + const void* fontName, + GLbitfield fontStyle, + GLuint pathParameterTemplate, + GLfloat emScale, + GLuint baseAndCount) { + requiresExtension(GL_NV_path_rendering) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glPathGlyphRangeNV(GLuint firstPathName, + GLenum fontTarget, + const void* fontName, + GLbitfield fontStyle, + GLuint firstGlyph, + GLsizei numGlyphs, + GLenum handleMissingGlyphs, + GLuint pathParameterTemplate, + GLfloat emScale) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glPathGlyphsNV(GLuint firstPathName, + GLenum fontTarget, + const void* fontName, + GLbitfield fontStyle, + GLsizei numGlyphs, + GLenum type, + const void* charcodes, + GLenum handleMissingGlyphs, + GLuint pathParameterTemplate, + GLfloat emScale) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd GLenum glPathMemoryGlyphIndexArrayNV(GLuint firstPathName, + GLenum fontTarget, + GLsizeiptr fontSize, + const void* fontData, + GLsizei faceIndex, + GLuint firstGlyphIndex, + GLsizei numGlyphs, + GLuint pathParameterTemplate, + GLfloat emScale) { + requiresExtension(GL_NV_path_rendering) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glPathParameterfNV(GLuint path, GLenum pname, GLfloat value) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glPathParameterfvNV(GLuint path, GLenum pname, const GLfloat* value) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glPathParameteriNV(GLuint path, GLenum pname, GLint value) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glPathParameterivNV(GLuint path, GLenum pname, const GLint* value) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glPathStencilDepthOffsetNV(GLfloat factor, GLfloat units) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glPathStencilFuncNV(GLenum func, GLint ref, GLuint mask) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glPathStringNV(GLuint path, GLenum format, GLsizei length, const void* pathString) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glPathSubCommandsNV(GLuint path, + GLsizei commandStart, + GLsizei commandsToDelete, + GLsizei numCommands, + const GLubyte* commands, + GLsizei numCoords, + GLenum coordType, + const void* coords) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glPathSubCoordsNV(GLuint path, + GLsizei coordStart, + GLsizei numCoords, + GLenum coordType, + const void* coords) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd GLboolean glPointAlongPathNV(GLuint path, + GLsizei startSegment, + GLsizei numSegments, + GLfloat distance, + GLfloat* x, + GLfloat* y, + GLfloat* tangentX, + GLfloat* tangentY) { + requiresExtension(GL_NV_path_rendering) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_polygon_mode.txt","GL_NV_polygon_mode") +cmd void glPolygonModeNV(GLenum face, GLenum mode) { + requiresExtension(GL_NV_polygon_mode) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_debug_marker.txt","GL_EXT_debug_marker") +cmd void glPopGroupMarkerEXT() { + requiresExtension(GL_EXT_debug_marker) +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_primitive_bounding_box.txt","GL_OES_primitive_bounding_box") +cmd void glPrimitiveBoundingBoxOES(GLfloat minX, + GLfloat minY, + GLfloat minZ, + GLfloat minW, + GLfloat maxX, + GLfloat maxY, + GLfloat maxZ, + GLfloat maxW) { + requiresExtension(GL_OES_primitive_bounding_box) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_get_program_binary.txt","GL_OES_get_program_binary") +cmd void glProgramBinaryOES(ProgramId program, + GLenum binary_format, + const void* binary, + GLint binary_size) { + requiresExtension(GL_OES_get_program_binary) + +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramParameteriEXT(ProgramId program, GLenum pname, GLint value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glProgramPathFragmentInputGenNV(ProgramId program, + GLint location, + GLenum genMode, + GLint components, + const GLfloat* coeffs) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform1fEXT(ProgramId program, UniformLocation location, GLfloat v0) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform1fvEXT(ProgramId program, + UniformLocation location, + GLsizei count, + const GLfloat* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform1iEXT(ProgramId program, UniformLocation location, GLint v0) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform1ivEXT(ProgramId program, + UniformLocation location, + GLsizei count, + const GLint* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform1uiEXT(ProgramId program, UniformLocation location, GLuint v0) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform1uivEXT(ProgramId program, + UniformLocation location, + GLsizei count, + const GLuint* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform2fEXT(ProgramId program, + UniformLocation location, + GLfloat v0, + GLfloat v1) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform2fvEXT(ProgramId program, + UniformLocation location, + GLsizei count, + const GLfloat* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform2iEXT(ProgramId program, UniformLocation location, GLint v0, GLint v1) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform2ivEXT(ProgramId program, + UniformLocation location, + GLsizei count, + const GLint* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform2uiEXT(ProgramId program, UniformLocation location, GLuint v0, GLuint v1) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform2uivEXT(ProgramId program, + UniformLocation location, + GLsizei count, + const GLuint* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform3fEXT(ProgramId program, + UniformLocation location, + GLfloat v0, + GLfloat v1, + GLfloat v2) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform3fvEXT(ProgramId program, + UniformLocation location, + GLsizei count, + const GLfloat* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform3iEXT(ProgramId program, + UniformLocation location, + GLint v0, + GLint v1, + GLint v2) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform3ivEXT(ProgramId program, + UniformLocation location, + GLsizei count, + const GLint* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform3uiEXT(ProgramId program, + UniformLocation location, + GLuint v0, + GLuint v1, + GLuint v2) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform3uivEXT(ProgramId program, + UniformLocation location, + GLsizei count, + const GLuint* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform4fEXT(ProgramId program, + UniformLocation location, + GLfloat v0, + GLfloat v1, + GLfloat v2, + GLfloat v3) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform4fvEXT(ProgramId program, + UniformLocation location, + GLsizei count, + const GLfloat* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform4iEXT(ProgramId program, + UniformLocation location, + GLint v0, + GLint v1, + GLint v2, + GLint v3) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform4ivEXT(ProgramId program, + UniformLocation location, + GLsizei count, + const GLint* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform4uiEXT(ProgramId program, + UniformLocation location, + GLuint v0, + GLuint v1, + GLuint v2, + GLuint v3) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniform4uivEXT(ProgramId program, + UniformLocation location, + GLsizei count, + const GLuint* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/bindless_texture.txt","GL_NV_bindless_texture") +cmd void glProgramUniformHandleui64NV(ProgramId program, UniformLocation location, GLuint64 value) { + requiresExtension(GL_NV_bindless_texture) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/bindless_texture.txt","GL_NV_bindless_texture") +cmd void glProgramUniformHandleui64vNV(ProgramId program, + UniformLocation location, + GLsizei count, + const GLuint64* values) { + requiresExtension(GL_NV_bindless_texture) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniformMatrix2fvEXT(ProgramId program, + UniformLocation location, + GLsizei count, + GLboolean transpose, + const GLfloat* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniformMatrix2x3fvEXT(ProgramId program, + UniformLocation location, + GLsizei count, + GLboolean transpose, + const GLfloat* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniformMatrix2x4fvEXT(ProgramId program, + UniformLocation location, + GLsizei count, + GLboolean transpose, + const GLfloat* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniformMatrix3fvEXT(ProgramId program, + UniformLocation location, + GLsizei count, + GLboolean transpose, + const GLfloat* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniformMatrix3x2fvEXT(ProgramId program, + UniformLocation location, + GLsizei count, + GLboolean transpose, + const GLfloat* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniformMatrix3x4fvEXT(ProgramId program, + UniformLocation location, + GLsizei count, + GLboolean transpose, + const GLfloat* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniformMatrix4fvEXT(ProgramId program, + UniformLocation location, + GLsizei count, + GLboolean transpose, + const GLfloat* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniformMatrix4x2fvEXT(ProgramId program, + UniformLocation location, + GLsizei count, + GLboolean transpose, + const GLfloat* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glProgramUniformMatrix4x3fvEXT(ProgramId program, + UniformLocation location, + GLsizei count, + GLboolean transpose, + const GLfloat* value) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_debug_marker.txt","GL_EXT_debug_marker") +cmd void glPushGroupMarkerEXT(GLsizei length, const GLchar* marker) { + requiresExtension(GL_EXT_debug_marker) + + if length > 0 { + read(marker[0:length]) + } else { + _ = as!string(marker) + } +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_disjoint_timer_query.txt","GL_EXT_disjoint_timer_query") +cmd void glQueryCounterEXT(QueryId query, GLenum target) { + requiresExtension(GL_EXT_disjoint_timer_query) + +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_multiview_draw_buffers.txt","GL_EXT_multiview_draw_buffers") +cmd void glReadBufferIndexedEXT(GLenum src, GLint index) { + requiresExtension(GL_EXT_multiview_draw_buffers) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_read_buffer.txt","GL_NV_read_buffer") +cmd void glReadBufferNV(GLenum mode) { + requiresExtension(GL_NV_read_buffer) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_robustness.txt","GL_EXT_robustness") +cmd void glReadnPixelsEXT(GLint x, + GLint y, + GLsizei width, + GLsizei height, + GLenum format, + GLenum type, + GLsizei bufSize, + void* data) { + requiresExtension(GL_EXT_robustness) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/KHR/robustness.txt","GL_KHR_robustness") +cmd void glReadnPixelsKHR(GLint x, + GLint y, + GLsizei width, + GLsizei height, + GLenum format, + GLenum type, + GLsizei bufSize, + void* data) { + requiresExtension(GL_KHR_robustness) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/ANGLE/ANGLE_framebuffer_multisample.txt","GL_ANGLE_framebuffer_multisample") +cmd void glRenderbufferStorageMultisampleANGLE(GLenum target, + GLsizei samples, + GLenum internalformat, + GLsizei width, + GLsizei height) { + requiresExtension(GL_ANGLE_framebuffer_multisample) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/APPLE/APPLE_framebuffer_multisample.txt","GL_APPLE_framebuffer_multisample") +cmd void glRenderbufferStorageMultisampleAPPLE(GLenum target, + GLsizei samples, + GLenum internalformat, + GLsizei width, + GLsizei height) { + requiresExtension(GL_APPLE_framebuffer_multisample) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_multisampled_render_to_texture.txt","GL_EXT_multisampled_render_to_texture") +cmd void glRenderbufferStorageMultisampleEXT(GLenum target, + GLsizei samples, + GLenum internalformat, + GLsizei width, + GLsizei height) { + requiresExtension(GL_EXT_multisampled_render_to_texture) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/IMG/IMG_multisampled_render_to_texture.txt","GL_IMG_multisampled_render_to_texture") +cmd void glRenderbufferStorageMultisampleIMG(GLenum target, + GLsizei samples, + GLenum internalformat, + GLsizei width, + GLsizei height) { + requiresExtension(GL_IMG_multisampled_render_to_texture) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_framebuffer_multisample.txt","GL_NV_framebuffer_multisample") +cmd void glRenderbufferStorageMultisampleNV(GLenum target, + GLsizei samples, + GLenum internalformat, + GLsizei width, + GLsizei height) { + requiresExtension(GL_NV_framebuffer_multisample) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/APPLE/APPLE_framebuffer_multisample.txt","GL_APPLE_framebuffer_multisample") +cmd void glResolveMultisampleFramebufferAPPLE() { + requiresExtension(GL_APPLE_framebuffer_multisample) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_border_clamp.txt","GL_OES_texture_border_clamp") +cmd void glSamplerParameterIivOES(SamplerId sampler, GLenum pname, const GLint* param) { + requiresExtension(GL_OES_texture_border_clamp) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_border_clamp.txt","GL_OES_texture_border_clamp") +cmd void glSamplerParameterIuivOES(SamplerId sampler, GLenum pname, const GLuint* param) { + requiresExtension(GL_OES_texture_border_clamp) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_viewport_array.txt","GL_NV_viewport_array") +cmd void glScissorArrayvNV(GLuint first, GLsizei count, const GLint* v) { + requiresExtension(GL_NV_viewport_array) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_viewport_array.txt","GL_NV_viewport_array") +cmd void glScissorIndexedNV(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) { + requiresExtension(GL_NV_viewport_array) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_viewport_array.txt","GL_NV_viewport_array") +cmd void glScissorIndexedvNV(GLuint index, const GLint* v) { + requiresExtension(GL_NV_viewport_array) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/AMD/performance_monitor.txt","GL_AMD_performance_monitor") +cmd void glSelectPerfMonitorCountersAMD(GLuint monitor, + GLboolean enable, + GLuint group, + GLint numCounters, + GLuint* counterList) { + requiresExtension(GL_AMD_performance_monitor) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/fence.txt","GL_NV_fence") +cmd void glSetFenceNV(GLuint fence, GLenum condition) { + requiresExtension(GL_NV_fence) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/QCOM/QCOM_tiled_rendering.txt","GL_QCOM_tiled_rendering") +cmd void glStartTilingQCOM(GLuint x, + GLuint y, + GLuint width, + GLuint height, + GLbitfield preserveMask) { + requiresExtension(GL_QCOM_tiled_rendering) + +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glStencilFillPathInstancedNV(GLsizei numPaths, + GLenum pathNameType, + const void* paths, + GLuint pathBase, + GLenum fillMode, + GLuint mask, + GLenum transformType, + const GLfloat* transformValues) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glStencilFillPathNV(GLuint path, GLenum fillMode, GLuint mask) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glStencilStrokePathInstancedNV(GLsizei numPaths, + GLenum pathNameType, + const void* paths, + GLuint pathBase, + GLint reference, + GLuint mask, + GLenum transformType, + const GLfloat* transformValues) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glStencilStrokePathNV(GLuint path, GLint reference, GLuint mask) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glStencilThenCoverFillPathInstancedNV(GLsizei numPaths, + GLenum pathNameType, + const void* paths, + GLuint pathBase, + GLenum fillMode, + GLuint mask, + GLenum coverMode, + GLenum transformType, + const GLfloat* transformValues) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glStencilThenCoverFillPathNV(GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glStencilThenCoverStrokePathInstancedNV(GLsizei numPaths, + GLenum pathNameType, + const void* paths, + GLuint pathBase, + GLint reference, + GLuint mask, + GLenum coverMode, + GLenum transformType, + const GLfloat* transformValues) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glStencilThenCoverStrokePathNV(GLuint path, + GLint reference, + GLuint mask, + GLenum coverMode) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/fence.txt","GL_NV_fence") +cmd GLboolean glTestFenceNV(GLuint fence) { + requiresExtension(GL_NV_fence) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_buffer.txt","GL_OES_texture_buffer") +cmd void glTexBufferOES(GLenum target, GLenum internalformat, BufferId buffer) { + requiresExtension(GL_OES_texture_buffer) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_buffer.txt","GL_OES_texture_buffer") +cmd void glTexBufferRangeOES(GLenum target, + GLenum internalformat, + BufferId buffer, + GLintptr offset, + GLsizeiptr size) { + requiresExtension(GL_OES_texture_buffer) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_3D.txt","GL_OES_texture_3D") +cmd void glTexImage3DOES(GLenum target, + GLint level, + GLenum internalformat, + GLsizei width, + GLsizei height, + GLsizei depth, + GLint border, + GLenum format, + GLenum type, + const void* pixels) { + requiresExtension(GL_OES_texture_3D) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_sparse_texture.txt","GL_EXT_sparse_texture") +cmd void glTexPageCommitmentARB(GLenum target, + GLint level, + GLint xoffset, + GLint yoffset, + GLint zoffset, + GLsizei width, + GLsizei height, + GLsizei depth, + GLboolean commit) { + requiresExtension(GL_EXT_sparse_texture) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_border_clamp.txt","GL_OES_texture_border_clamp") +cmd void glTexParameterIivOES(GLenum target, GLenum pname, const GLint* params) { + requiresExtension(GL_OES_texture_border_clamp) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_border_clamp.txt","GL_OES_texture_border_clamp") +cmd void glTexParameterIuivOES(GLenum target, GLenum pname, const GLuint* params) { + requiresExtension(GL_OES_texture_border_clamp) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_storage.txt","GL_EXT_texture_storage") +cmd void glTexStorage1DEXT(GLenum target, GLsizei levels, GLenum format, GLsizei width) { + requiresExtension(GL_EXT_texture_storage) + +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_storage.txt","GL_EXT_texture_storage") +cmd void glTexStorage2DEXT(GLenum target, + GLsizei levels, + GLenum format, + GLsizei width, + GLsizei height) { + requiresExtension(GL_EXT_texture_storage) + +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_storage.txt","GL_EXT_texture_storage") +cmd void glTexStorage3DEXT(GLenum target, + GLsizei levels, + GLenum format, + GLsizei width, + GLsizei height, + GLsizei depth) { + requiresExtension(GL_EXT_texture_storage) + +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_3D.txt","GL_OES_texture_3D") +cmd void glTexSubImage3DOES(GLenum target, + GLint level, + GLint xoffset, + GLint yoffset, + GLint zoffset, + GLsizei width, + GLsizei height, + GLsizei depth, + GLenum format, + GLenum type, + const void* pixels) { + requiresExtension(GL_OES_texture_3D) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_storage.txt","GL_EXT_texture_storage") +cmd void glTextureStorage1DEXT(TextureId texture, + GLenum target, + GLsizei levels, + GLenum format, + GLsizei width) { + requiresExtension(GL_EXT_texture_storage) + +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_storage.txt","GL_EXT_texture_storage") +cmd void glTextureStorage2DEXT(TextureId texture, + GLenum target, + GLsizei levels, + GLenum format, + GLsizei width, + GLsizei height) { + requiresExtension(GL_EXT_texture_storage) + +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_storage.txt","GL_EXT_texture_storage") +cmd void glTextureStorage3DEXT(TextureId texture, + GLenum target, + GLsizei levels, + GLenum format, + GLsizei width, + GLsizei height, + GLsizei depth) { + requiresExtension(GL_EXT_texture_storage) + +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_view.txt","GL_EXT_texture_view") +cmd void glTextureViewEXT(TextureId texture, + GLenum target, + GLuint origtexture, + GLenum internalformat, + GLuint minlevel, + GLuint numlevels, + GLuint minlayer, + GLuint numlayers) { + requiresExtension(GL_EXT_texture_view) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_texture_view.txt","GL_OES_texture_view") +cmd void glTextureViewOES(TextureId texture, + GLenum target, + GLuint origtexture, + GLenum internalformat, + GLuint minlevel, + GLuint numlevels, + GLuint minlayer, + GLuint numlayers) { + requiresExtension(GL_OES_texture_view) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glTransformPathNV(GLuint resultPath, + GLuint srcPath, + GLenum transformType, + const GLfloat* transformValues) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/bindless_texture.txt","GL_NV_bindless_texture") +cmd void glUniformHandleui64NV(UniformLocation location, GLuint64 value) { + requiresExtension(GL_NV_bindless_texture) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/bindless_texture.txt","GL_NV_bindless_texture") +cmd void glUniformHandleui64vNV(UniformLocation location, GLsizei count, const GLuint64* value) { + requiresExtension(GL_NV_bindless_texture) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_non_square_matrices.txt","GL_NV_non_square_matrices") +cmd void glUniformMatrix2x3fvNV(UniformLocation location, + GLsizei count, + GLboolean transpose, + const GLfloat* value) { + requiresExtension(GL_NV_non_square_matrices) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_non_square_matrices.txt","GL_NV_non_square_matrices") +cmd void glUniformMatrix2x4fvNV(UniformLocation location, + GLsizei count, + GLboolean transpose, + const GLfloat* value) { + requiresExtension(GL_NV_non_square_matrices) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_non_square_matrices.txt","GL_NV_non_square_matrices") +cmd void glUniformMatrix3x2fvNV(UniformLocation location, + GLsizei count, + GLboolean transpose, + const GLfloat* value) { + requiresExtension(GL_NV_non_square_matrices) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_non_square_matrices.txt","GL_NV_non_square_matrices") +cmd void glUniformMatrix3x4fvNV(UniformLocation location, + GLsizei count, + GLboolean transpose, + const GLfloat* value) { + requiresExtension(GL_NV_non_square_matrices) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_non_square_matrices.txt","GL_NV_non_square_matrices") +cmd void glUniformMatrix4x2fvNV(UniformLocation location, + GLsizei count, + GLboolean transpose, + const GLfloat* value) { + requiresExtension(GL_NV_non_square_matrices) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_non_square_matrices.txt","GL_NV_non_square_matrices") +cmd void glUniformMatrix4x3fvNV(UniformLocation location, + GLsizei count, + GLboolean transpose, + const GLfloat* value) { + requiresExtension(GL_NV_non_square_matrices) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/OES/OES_mapbuffer.txt","GL_OES_mapbuffer") +cmd GLboolean glUnmapBufferOES(GLenum target) { + requiresExtension(GL_OES_mapbuffer) + // TODO + return ? +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glUseProgramStagesEXT(PipelineId pipeline, GLbitfield stages, ProgramId program) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_separate_shader_objects.txt","GL_EXT_separate_shader_objects") +cmd void glValidateProgramPipelineEXT(PipelineId pipeline) { + requiresExtension(GL_EXT_separate_shader_objects) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/ANGLE/ANGLE_instanced_arrays.txt","GL_ANGLE_instanced_arrays") +cmd void glVertexAttribDivisorANGLE(AttributeLocation index, GLuint divisor) { + requiresExtension(GL_ANGLE_instanced_arrays) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/EXT_instanced_arrays.txt","GL_EXT_instanced_arrays") +cmd void glVertexAttribDivisorEXT(AttributeLocation index, GLuint divisor) { + requiresExtension(GL_EXT_instanced_arrays) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_instanced_arrays.txt","GL_NV_instanced_arrays") +cmd void glVertexAttribDivisorNV(AttributeLocation index, GLuint divisor) { + requiresExtension(GL_NV_instanced_arrays) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_viewport_array.txt","GL_NV_viewport_array") +cmd void glViewportArrayvNV(GLuint first, GLsizei count, const GLfloat* v) { + requiresExtension(GL_NV_viewport_array) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_viewport_array.txt","GL_NV_viewport_array") +cmd void glViewportIndexedfNV(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) { + requiresExtension(GL_NV_viewport_array) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/NV_viewport_array.txt","GL_NV_viewport_array") +cmd void glViewportIndexedfvNV(GLuint index, const GLfloat* v) { + requiresExtension(GL_NV_viewport_array) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/APPLE/APPLE_sync.txt","GL_APPLE_sync") +cmd void glWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout) { + requiresExtension(GL_APPLE_sync) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/path_rendering.txt","GL_NV_path_rendering") +cmd void glWeightPathsNV(GLuint resultPath, + GLsizei numPaths, + const GLuint* paths, + const GLfloat* weights) { + requiresExtension(GL_NV_path_rendering) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/framebuffer_mixed_samples.txt","GL_NV_framebuffer_mixed_samples") +cmd void glCoverageModulationNV(GLenum components) { + requiresExtension(GL_NV_framebuffer_mixed_samples) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/framebuffer_mixed_samples.txt","GL_NV_framebuffer_mixed_samples") +cmd void glCoverageModulationTableNV(GLsizei n, const GLfloat* v) { + requiresExtension(GL_NV_framebuffer_mixed_samples) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/fragment_coverage_to_color.txt","GL_NV_fragment_coverage_to_color") +cmd void glFragmentCoverageColorNV(GLuint color) { + requiresExtension(GL_NV_fragment_coverage_to_color) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/sample_locations.txt","GL_NV_sample_locations") +cmd void glFramebufferSampleLocationsfvNV(GLenum target, + GLuint start, + GLsizei count, + const GLfloat* v) { + requiresExtension(GL_NV_sample_locations) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/framebuffer_mixed_samples.txt","GL_NV_framebuffer_mixed_samples") +cmd void glGetCoverageModulationTableNV(GLsizei bufsize, GLfloat* v) { + requiresExtension(GL_NV_framebuffer_mixed_samples) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/sample_locations.txt","GL_NV_sample_locations") +cmd void glNamedFramebufferSampleLocationsfvNV(FramebufferId framebuffer, + GLuint start, + GLsizei count, + const GLfloat* v) { + requiresExtension(GL_NV_sample_locations) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/raster_multisample.txt","GL_EXT_raster_multisample") +@Doc("https://www.khronos.org/registry/gles/extensions/EXT/texture_filter_minmax.txt","GL_EXT_texture_filter_minmax") +@Doc("https://www.khronos.org/registry/gles/extensions/NV/framebuffer_mixed_samples.txt","GL_NV_framebuffer_mixed_samples") +cmd void glRasterSamplesEXT(GLuint samples, GLboolean fixedsamplelocations) { + requiresExtension(GL_EXT_raster_multisample) + requiresExtension(GL_EXT_texture_filter_minmax) + requiresExtension(GL_NV_framebuffer_mixed_samples) + // TODO: Multiple extensions + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/sample_locations.txt","GL_NV_sample_locations") +cmd void glResolveDepthValuesNV() { + requiresExtension(GL_NV_sample_locations) + // TODO +} + +@Doc("https://www.khronos.org/registry/gles/extensions/NV/conservative_raster.txt","GL_NV_conservative_raster") +cmd void glSubpixelPrecisionBiasNV(GLuint xbits, GLuint ybits) { + requiresExtension(GL_NV_conservative_raster) + // TODO +} + |