X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=specs%2Fgltypes.py;h=2200a88bfeaa972385d46482229327e6bffd58ea;hb=ee590be87b26f3518106dbbe101db2ceba9d42ae;hp=829f0d84661caba35807633ee4fb259661fde6c3;hpb=7b6832419f5cade1990f29e6938ef0edd8a07d11;p=apitrace diff --git a/specs/gltypes.py b/specs/gltypes.py index 829f0d8..2200a88 100644 --- a/specs/gltypes.py +++ b/specs/gltypes.py @@ -98,24 +98,25 @@ GLrenderbuffer = Handle("renderbuffer", GLuint) GLfragmentShaderATI = Handle("fragmentShaderATI", GLuint) GLarray = Handle("array", GLuint) GLregion = Handle("region", GLuint) -GLmap = GLpointer GLpipeline = Handle("pipeline", GLuint) GLsampler = Handle("sampler", GLuint) GLfeedback = Handle("feedback", GLuint) -GLsync_ = Opaque("GLsync") -GLsync = Handle("sync", GLsync_) +# GL mappings are pointers to linear memory regions. +# +# The map length is not always available in the function prototype, and must be +# reconstructed from other state. +GLmap = LinearPointer(GLvoid, "length") + +GLsync = Handle("sync", IntPointer("GLsync")) GLenum = Enum("GLenum", [ # Parameters are added later from glparams.py's parameter table ]) # Some functions take GLenum disguised as GLint, and need special treatment so -# that symbolic names are traced correctly. Apple noticed and fixed it in the -# gl.h header, which further complicates things. C++ typechecking rules force -# the wrappers to match the prototype precisely, so the precise type is defined -# in glimports.hpp -GLenum_int = Alias("GLenum_int", GLenum) +# that symbolic names are traced correctly. +GLenum_int = Alias("GLint", GLenum) GLenum_mode = FakeEnum(GLenum, [ "GL_POINTS", # 0x0000