Generating a source code with a fixed size leads to issues with plattform dependent types.
We either hard code 4 or 8 bytes there, and both are wrong on the other plattform.
So this patch solves this issue by generating eg sizeof(GLsizeiptr), which is valid both
on 32 and on 64 bit plattforms.
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
def size_string(self, use_parens = 1):
def size_string(self, use_parens = 1):
+ base_size_str = ""
+
+ count = self.get_element_count()
+ if count:
+ base_size_str = "%d * " % count
+
+ base_size_str += "sizeof(%s)" % ( self.get_base_type_string() )
+
if self.counter or self.count_parameter_list:
list = [ "compsize" ]
if self.counter or self.count_parameter_list:
list = [ "compsize" ]
elif self.counter:
list = [ self.counter ]
elif self.counter:
list = [ self.counter ]
- if s > 1:
- list.append( str(s) )
+ if self.size() > 1:
+ list.append( base_size_str )
if len(list) > 1 and use_parens :
return "safe_mul(%s)" % ", ".join(list)
if len(list) > 1 and use_parens :
return "safe_mul(%s)" % ", ".join(list)
elif self.is_image():
return "compsize"
else:
elif self.is_image():
return "compsize"
else: