1'''OpenGL extension VERSION.GL_4_3
2
3This module customises the behaviour of the
4OpenGL.raw.GL.VERSION.GL_4_3 to provide a more
5Python-friendly API
6
7The official definition of this extension is available here:
8http://www.opengl.org/registry/specs/VERSION/GL_4_3.txt
9'''
10from OpenGL import platform, constant, arrays
11from OpenGL import extensions, wrapper
12import ctypes
13from OpenGL.raw.GL import _types, _glgets
14from OpenGL.raw.GL.VERSION.GL_4_3 import *
15from OpenGL.raw.GL.VERSION.GL_4_3 import _EXTENSION_NAME
16
17def glInitGl43VERSION():
18    '''Return boolean indicating whether this extension is available'''
19    from OpenGL import extensions
20    return extensions.hasGLExtension( _EXTENSION_NAME )
21
22# INPUT glClearBufferData.data size not checked against 'format,type'
23glClearBufferData=wrapper.wrapper(glClearBufferData).setInputArraySize(
24    'data', None
25)
26# INPUT glClearBufferSubData.data size not checked against 'format,type'
27glClearBufferSubData=wrapper.wrapper(glClearBufferSubData).setInputArraySize(
28    'data', None
29)
30# INPUT glGetFramebufferParameteriv.params size not checked against 'pname'
31glGetFramebufferParameteriv=wrapper.wrapper(glGetFramebufferParameteriv).setInputArraySize(
32    'params', None
33)
34# INPUT glGetInternalformati64v.params size not checked against bufSize
35glGetInternalformati64v=wrapper.wrapper(glGetInternalformati64v).setInputArraySize(
36    'params', None
37)
38# INPUT glInvalidateFramebuffer.attachments size not checked against numAttachments
39glInvalidateFramebuffer=wrapper.wrapper(glInvalidateFramebuffer).setInputArraySize(
40    'attachments', None
41)
42# INPUT glInvalidateSubFramebuffer.attachments size not checked against numAttachments
43glInvalidateSubFramebuffer=wrapper.wrapper(glInvalidateSubFramebuffer).setInputArraySize(
44    'attachments', None
45)
46# INPUT glMultiDrawArraysIndirect.indirect size not checked against 'drawcount,stride'
47glMultiDrawArraysIndirect=wrapper.wrapper(glMultiDrawArraysIndirect).setInputArraySize(
48    'indirect', None
49)
50# INPUT glMultiDrawElementsIndirect.indirect size not checked against 'drawcount,stride'
51glMultiDrawElementsIndirect=wrapper.wrapper(glMultiDrawElementsIndirect).setInputArraySize(
52    'indirect', None
53)
54# INPUT glGetProgramInterfaceiv.params size not checked against 'pname'
55glGetProgramInterfaceiv=wrapper.wrapper(glGetProgramInterfaceiv).setInputArraySize(
56    'params', None
57)
58# INPUT glGetProgramResourceIndex.name size not checked against 'name'
59glGetProgramResourceIndex=wrapper.wrapper(glGetProgramResourceIndex).setInputArraySize(
60    'name', None
61)
62# INPUT glGetProgramResourceName.name size not checked against bufSize
63glGetProgramResourceName=wrapper.wrapper(glGetProgramResourceName).setInputArraySize(
64    'length', 1
65).setInputArraySize(
66    'name', None
67)
68# INPUT glGetProgramResourceiv.params size not checked against bufSize
69# INPUT glGetProgramResourceiv.props size not checked against propCount
70glGetProgramResourceiv=wrapper.wrapper(glGetProgramResourceiv).setInputArraySize(
71    'length', 1
72).setInputArraySize(
73    'params', None
74).setInputArraySize(
75    'props', None
76)
77# INPUT glGetProgramResourceLocation.name size not checked against 'name'
78glGetProgramResourceLocation=wrapper.wrapper(glGetProgramResourceLocation).setInputArraySize(
79    'name', None
80)
81# INPUT glGetProgramResourceLocationIndex.name size not checked against 'name'
82glGetProgramResourceLocationIndex=wrapper.wrapper(glGetProgramResourceLocationIndex).setInputArraySize(
83    'name', None
84)
85# INPUT glDebugMessageControl.ids size not checked against count
86glDebugMessageControl=wrapper.wrapper(glDebugMessageControl).setInputArraySize(
87    'ids', None
88)
89# INPUT glDebugMessageInsert.buf size not checked against 'buf,length'
90glDebugMessageInsert=wrapper.wrapper(glDebugMessageInsert).setInputArraySize(
91    'buf', None
92)
93# INPUT glGetDebugMessageLog.lengths size not checked against count
94# INPUT glGetDebugMessageLog.ids size not checked against count
95# INPUT glGetDebugMessageLog.severities size not checked against count
96# INPUT glGetDebugMessageLog.sources size not checked against count
97# INPUT glGetDebugMessageLog.messageLog size not checked against bufSize
98# INPUT glGetDebugMessageLog.types size not checked against count
99glGetDebugMessageLog=wrapper.wrapper(glGetDebugMessageLog).setInputArraySize(
100    'lengths', None
101).setInputArraySize(
102    'ids', None
103).setInputArraySize(
104    'severities', None
105).setInputArraySize(
106    'sources', None
107).setInputArraySize(
108    'messageLog', None
109).setInputArraySize(
110    'types', None
111)
112# INPUT glPushDebugGroup.message size not checked against 'message,length'
113glPushDebugGroup=wrapper.wrapper(glPushDebugGroup).setInputArraySize(
114    'message', None
115)
116# INPUT glObjectLabel.label size not checked against 'label,length'
117glObjectLabel=wrapper.wrapper(glObjectLabel).setInputArraySize(
118    'label', None
119)
120# INPUT glGetObjectLabel.label size not checked against bufSize
121glGetObjectLabel=wrapper.wrapper(glGetObjectLabel).setInputArraySize(
122    'length', 1
123).setInputArraySize(
124    'label', None
125)
126# INPUT glObjectPtrLabel.label size not checked against 'label,length'
127glObjectPtrLabel=wrapper.wrapper(glObjectPtrLabel).setInputArraySize(
128    'label', None
129)
130# INPUT glGetObjectPtrLabel.label size not checked against bufSize
131glGetObjectPtrLabel=wrapper.wrapper(glGetObjectPtrLabel).setInputArraySize(
132    'length', 1
133).setInputArraySize(
134    'label', None
135)
136glGetPointerv=wrapper.wrapper(glGetPointerv).setOutput(
137    'params',size=(1,),orPassIn=True
138)
139glGetPointerv=wrapper.wrapper(glGetPointerv).setOutput(
140    'params',size=(1,),orPassIn=True
141)
142### END AUTOGENERATED SECTION
143
144from OpenGL.GL.ARB.arrays_of_arrays import *
145from OpenGL.GL.ARB.fragment_layer_viewport import *
146from OpenGL.GL.ARB.shader_image_size import *
147from OpenGL.GL.ARB.ES3_compatibility import *
148from OpenGL.GL.ARB.clear_buffer_object import *
149from OpenGL.GL.ARB.compute_shader import *
150from OpenGL.GL.ARB.copy_image import *
151# Extension registry no longer defines these extensions?
152#from OpenGL.GL.ARB.debug_group import *
153#from OpenGL.GL.ARB.debug_label import *
154#from OpenGL.GL.ARB.debug_output2 import *
155from OpenGL.GL.KHR.debug import *
156from OpenGL.GL.ARB.explicit_uniform_location import *
157from OpenGL.GL.ARB.framebuffer_no_attachments import *
158from OpenGL.GL.ARB.internalformat_query2 import *
159from OpenGL.GL.ARB.invalidate_subdata import *
160from OpenGL.GL.ARB.multi_draw_indirect import *
161from OpenGL.GL.ARB.program_interface_query import *
162from OpenGL.GL.ARB.robust_buffer_access_behavior import *
163from OpenGL.GL.ARB.shader_storage_buffer_object import *
164from OpenGL.GL.ARB.stencil_texturing import *
165from OpenGL.GL.ARB.texture_buffer_range import *
166from OpenGL.GL.ARB.texture_query_levels import *
167from OpenGL.GL.ARB.texture_storage_multisample import *
168from OpenGL.GL.ARB.texture_view import *
169from OpenGL.GL.ARB.vertex_attrib_binding import *
170