aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobin Ehlis <tobin@lunarg.com>2015-04-17 13:26:33 -0600
committerTobin Ehlis <tobin@lunarg.com>2015-04-17 13:27:54 -0600
commitb5e3bc3e6db511415a64f83c41a46c57f18a35f8 (patch)
tree50f39a693167fb78c4e0da1bbb77d7ca54d29d24
parentd1e18bc2053cd06ad469820de647d8c48ec8462f (diff)
downloadusermoji-b5e3bc3e6db511415a64f83c41a46c57f18a35f8.tar.xz
layers: Fix bugs in APIDump to handle dynamic array printing
-rwxr-xr-xvk-layer-generate.py2
-rwxr-xr-xvk_helper.py22
2 files changed, 13 insertions, 11 deletions
diff --git a/vk-layer-generate.py b/vk-layer-generate.py
index d7a5a992..9fcc68f7 100755
--- a/vk-layer-generate.py
+++ b/vk-layer-generate.py
@@ -131,6 +131,8 @@ class Subcommand(object):
if '*' in vk_type:
if 'pUserData' == name:
return ("%i", "((pUserData == 0) ? 0 : *(pUserData))")
+ if 'const' in vk_type.lower():
+ return ("%p", "(void*)(%s)" % name)
return ("%i", "*(%s)" % name)
return ("%i", name)
# TODO : This is special-cased as there's only one "format" param currently and it's nice to expand it
diff --git a/vk_helper.py b/vk_helper.py
index b35286c9..14ccaeff 100755
--- a/vk_helper.py
+++ b/vk_helper.py
@@ -773,16 +773,16 @@ class StructWrapperGen:
if 1 < stp_list[index]['full_type'].count('*'):
addr_char = ''
if (stp_list[index]['array']):
- sh_funcs.append('/* A */');
+ #sh_funcs.append('/* A */');
if stp_list[index]['dyn_array']:
- sh_funcs.append('/* AA */');
+ #sh_funcs.append('/* AA */');
array_count = 'pStruct->%s' % (stp_list[index]['array_size'])
else:
- sh_funcs.append('/* AB */');
+ #sh_funcs.append('/* AB */');
array_count = '%s' % (stp_list[index]['array_size'])
sh_funcs.append('%sstp_strs[%u] = "";' % (indent, index))
if not idx_ss_decl:
- sh_funcs.append('/* AC */');
+ #sh_funcs.append('/* AC */');
sh_funcs.append('%sstringstream index_ss;' % (indent))
idx_ss_decl = True
sh_funcs.append('%sif (pStruct->%s) {' % (indent, stp_list[index]['name']))
@@ -792,27 +792,27 @@ class StructWrapperGen:
sh_funcs.append('%sindex_ss.str("");' % (indent))
sh_funcs.append('%sindex_ss << i;' % (indent))
if not is_type(stp_list[index]['type'], 'struct'):
- sh_funcs.append('/* AD */');
+ #sh_funcs.append('/* AD */');
addr_char = ''
sh_funcs.append('%sss[%u] << %spStruct->%s[i];' % (indent, index, addr_char, stp_list[index]['name']))
sh_funcs.append('%sstp_strs[%u] += " " + prefix + "%s[" + index_ss.str() + "] = " + ss[%u].str() + "\\n";' % (indent, index, stp_list[index]['name'], index))
else:
- sh_funcs.append('/* AD */');
+ #sh_funcs.append('/* AD */');
sh_funcs.append('%sss[%u] << %spStruct->%s[i];' % (indent, index, addr_char, stp_list[index]['name']))
sh_funcs.append('%stmp_str = %s(%spStruct->%s[i], extra_indent);' % (indent, self._get_sh_func_name(stp_list[index]['type']), addr_char, stp_list[index]['name']))
if self.no_addr:
- sh_funcs.append('/* ADA */');
+ #sh_funcs.append('/* ADA */');
sh_funcs.append('%sstp_strs[%u] += " " + prefix + "%s[" + index_ss.str() + "] (addr)\\n" + tmp_str;' % (indent, index, stp_list[index]['name']))
else:
- sh_funcs.append('/* ADB */');
+ #sh_funcs.append('/* ADB */');
sh_funcs.append('%sstp_strs[%u] += " " + prefix + "%s[" + index_ss.str() + "] (" + ss[%u].str() + ")\\n" + tmp_str;' % (indent, index, stp_list[index]['name'], index))
+ sh_funcs.append('%sss[%u].str("");' % (indent, index))
indent = indent[4:]
sh_funcs.append('%s}' % (indent))
- sh_funcs.append('%sss[%u].str("");' % (indent, index))
indent = indent[4:]
sh_funcs.append('%s}' % (indent))
elif (stp_list[index]['ptr']):
- sh_funcs.append('/* B */');
+ #sh_funcs.append('/* B */');
sh_funcs.append(' if (pStruct->%s) {' % stp_list[index]['name'])
if 'pNext' == stp_list[index]['name']:
sh_funcs.append(' tmp_str = dynamic_display((void*)pStruct->pNext, prefix);')
@@ -832,7 +832,7 @@ class StructWrapperGen:
sh_funcs.append(' else')
sh_funcs.append(' stp_strs[%u] = "";' % index)
else:
- sh_funcs.append('/* C */');
+ #sh_funcs.append('/* C */');
sh_funcs.append(' tmp_str = %s(&pStruct->%s, extra_indent);' % (self._get_sh_func_name(stp_list[index]['type']), stp_list[index]['name']))
sh_funcs.append(' ss[%u] << %spStruct->%s;' % (index, addr_char, stp_list[index]['name']))
if self.no_addr: