1'''OpenGL extension VERSION.GL_4_0
2
3This module customises the behaviour of the
4OpenGL.raw.GL.VERSION.GL_4_0 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_0.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_0 import *
15from OpenGL.raw.GL.VERSION.GL_4_0 import _EXTENSION_NAME
16
17def glInitGl40VERSION():
18    '''Return boolean indicating whether this extension is available'''
19    from OpenGL import extensions
20    return extensions.hasGLExtension( _EXTENSION_NAME )
21
22# INPUT glUniform1dv.value size not checked against count
23glUniform1dv=wrapper.wrapper(glUniform1dv).setInputArraySize(
24    'value', None
25)
26# INPUT glUniform2dv.value size not checked against count*2
27glUniform2dv=wrapper.wrapper(glUniform2dv).setInputArraySize(
28    'value', None
29)
30# INPUT glUniform3dv.value size not checked against count*3
31glUniform3dv=wrapper.wrapper(glUniform3dv).setInputArraySize(
32    'value', None
33)
34# INPUT glUniform4dv.value size not checked against count*4
35glUniform4dv=wrapper.wrapper(glUniform4dv).setInputArraySize(
36    'value', None
37)
38# INPUT glUniformMatrix2dv.value size not checked against count*4
39glUniformMatrix2dv=wrapper.wrapper(glUniformMatrix2dv).setInputArraySize(
40    'value', None
41)
42# INPUT glUniformMatrix3dv.value size not checked against count*9
43glUniformMatrix3dv=wrapper.wrapper(glUniformMatrix3dv).setInputArraySize(
44    'value', None
45)
46# INPUT glUniformMatrix4dv.value size not checked against count*16
47glUniformMatrix4dv=wrapper.wrapper(glUniformMatrix4dv).setInputArraySize(
48    'value', None
49)
50# INPUT glUniformMatrix2x3dv.value size not checked against count*6
51glUniformMatrix2x3dv=wrapper.wrapper(glUniformMatrix2x3dv).setInputArraySize(
52    'value', None
53)
54# INPUT glUniformMatrix2x4dv.value size not checked against count*8
55glUniformMatrix2x4dv=wrapper.wrapper(glUniformMatrix2x4dv).setInputArraySize(
56    'value', None
57)
58# INPUT glUniformMatrix3x2dv.value size not checked against count*6
59glUniformMatrix3x2dv=wrapper.wrapper(glUniformMatrix3x2dv).setInputArraySize(
60    'value', None
61)
62# INPUT glUniformMatrix3x4dv.value size not checked against count*12
63glUniformMatrix3x4dv=wrapper.wrapper(glUniformMatrix3x4dv).setInputArraySize(
64    'value', None
65)
66# INPUT glUniformMatrix4x2dv.value size not checked against count*8
67glUniformMatrix4x2dv=wrapper.wrapper(glUniformMatrix4x2dv).setInputArraySize(
68    'value', None
69)
70# INPUT glUniformMatrix4x3dv.value size not checked against count*12
71glUniformMatrix4x3dv=wrapper.wrapper(glUniformMatrix4x3dv).setInputArraySize(
72    'value', None
73)
74# OUTPUT glGetUniformdv.params COMPSIZE(program, location)
75glGetActiveSubroutineUniformiv=wrapper.wrapper(glGetActiveSubroutineUniformiv).setOutput(
76    'values',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True
77)
78glGetActiveSubroutineUniformName=wrapper.wrapper(glGetActiveSubroutineUniformName).setOutput(
79    'length',size=(1,),orPassIn=True
80).setOutput(
81    'name',size=lambda x:(x,),pnameArg='bufsize',orPassIn=True
82)
83glGetActiveSubroutineName=wrapper.wrapper(glGetActiveSubroutineName).setOutput(
84    'length',size=(1,),orPassIn=True
85).setOutput(
86    'name',size=lambda x:(x,),pnameArg='bufsize',orPassIn=True
87)
88# INPUT glUniformSubroutinesuiv.indices size not checked against count
89glUniformSubroutinesuiv=wrapper.wrapper(glUniformSubroutinesuiv).setInputArraySize(
90    'indices', None
91)
92glGetUniformSubroutineuiv=wrapper.wrapper(glGetUniformSubroutineuiv).setOutput(
93    'params',size=(1,),orPassIn=True
94)
95glGetProgramStageiv=wrapper.wrapper(glGetProgramStageiv).setOutput(
96    'values',size=(1,),orPassIn=True
97)
98# INPUT glPatchParameterfv.values size not checked against 'pname'
99glPatchParameterfv=wrapper.wrapper(glPatchParameterfv).setInputArraySize(
100    'values', None
101)
102# INPUT glDeleteTransformFeedbacks.ids size not checked against n
103glDeleteTransformFeedbacks=wrapper.wrapper(glDeleteTransformFeedbacks).setInputArraySize(
104    'ids', None
105)
106glGenTransformFeedbacks=wrapper.wrapper(glGenTransformFeedbacks).setOutput(
107    'ids',size=lambda x:(x,),pnameArg='n',orPassIn=True
108)
109glGetQueryIndexediv=wrapper.wrapper(glGetQueryIndexediv).setOutput(
110    'params',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True
111)
112### END AUTOGENERATED SECTION
113