Fix a minor bug in glXEnumFunction::PrintUsingTable. Add some comments.
Add the (currently unused) utility funciton glXFunction::opcode_real_value.
This commit is contained in:
@@ -162,7 +162,7 @@ class glXEnumFunction:
|
|||||||
masked_enums = {}
|
masked_enums = {}
|
||||||
masked_count = {}
|
masked_count = {}
|
||||||
|
|
||||||
for i in range(0, mask):
|
for i in range(0, mask + 1):
|
||||||
masked_enums[i] = "0";
|
masked_enums[i] = "0";
|
||||||
masked_count[i] = 0;
|
masked_count[i] = 0;
|
||||||
|
|
||||||
@@ -381,6 +381,15 @@ class glXFunction(gl_XML.glFunction):
|
|||||||
return "%u%s" % (size, size_string)
|
return "%u%s" % (size, size_string)
|
||||||
|
|
||||||
|
|
||||||
|
def opcode_real_value(self):
|
||||||
|
if self.glx_vendorpriv != 0:
|
||||||
|
if self.needs_reply():
|
||||||
|
return 17
|
||||||
|
else:
|
||||||
|
return 16
|
||||||
|
else:
|
||||||
|
return self.opcode_value()
|
||||||
|
|
||||||
def opcode_value(self):
|
def opcode_value(self):
|
||||||
if self.glx_rop != 0:
|
if self.glx_rop != 0:
|
||||||
return self.glx_rop
|
return self.glx_rop
|
||||||
@@ -691,6 +700,13 @@ generic_%u_byte( GLint rop, const void * ptr )
|
|||||||
|
|
||||||
|
|
||||||
def printRenderFunction(self, f):
|
def printRenderFunction(self, f):
|
||||||
|
# There is a class of GL functions that take a single pointer
|
||||||
|
# as a parameter. This pointer points to a fixed-size chunk
|
||||||
|
# of data, and the protocol for this functions is very
|
||||||
|
# regular. Since they are so regular and there are so many
|
||||||
|
# of them, special case them with generic functions. On
|
||||||
|
# x86, this save about 26KB in the libGL.so binary.
|
||||||
|
|
||||||
if f.variable_length_parameter() == None and len(f.fn_parameters) == 1:
|
if f.variable_length_parameter() == None and len(f.fn_parameters) == 1:
|
||||||
p = f.fn_parameters[0]
|
p = f.fn_parameters[0]
|
||||||
if p.is_pointer:
|
if p.is_pointer:
|
||||||
|
Reference in New Issue
Block a user