aboutsummaryrefslogtreecommitdiff
path: root/scripts/parameter_validation_generator.py
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2017-06-28 13:22:03 -0600
committerMark Lobodzinski <mark@lunarg.com>2017-07-03 14:00:45 -0600
commit9f65aec9916b7380184f13788c8eb1b90e55bcf5 (patch)
treeff6a5ef71df70de8c2e7a8a4a6cba5a3911085a0 /scripts/parameter_validation_generator.py
parentf0bb42f1165109038b8b352bd0c9dd74a2ff4d95 (diff)
downloadusermoji-9f65aec9916b7380184f13788c8eb1b90e55bcf5.tar.xz
layers: Output VUIDS for PV required_pointer checks
Change-Id: I5b1a9901fdd75b35455fadd749b6ccb31236d23a
Diffstat (limited to 'scripts/parameter_validation_generator.py')
-rw-r--r--scripts/parameter_validation_generator.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/scripts/parameter_validation_generator.py b/scripts/parameter_validation_generator.py
index 8786c3fa..1c5c094b 100644
--- a/scripts/parameter_validation_generator.py
+++ b/scripts/parameter_validation_generator.py
@@ -802,8 +802,8 @@ class ParamCheckerOutputGenerator(OutputGenerator):
# Generate the pointer check string
def makePointerCheck(self, prefix, value, lenValue, valueRequired, lenValueRequired, lenPtrRequired, funcPrintName, lenPrintName, valuePrintName, postProcSpec, struct_type_name):
checkExpr = []
+ vuid_tag_name = struct_type_name if struct_type_name is not None else funcPrintName
if lenValue:
- vuid_tag_name = struct_type_name if struct_type_name is not None else funcPrintName
count_required_vuid = self.GetVuid("VUID-%s-%s-arraylength" % (vuid_tag_name, lenValue.name))
array_required_vuid = self.GetVuid("VUID-%s-%s-parameter" % (vuid_tag_name, value.name))
# This is an array with a pointer to a count value
@@ -831,10 +831,11 @@ class ParamCheckerOutputGenerator(OutputGenerator):
# This is an individual struct that is not allowed to be NULL
elif not value.isoptional:
# Function pointers need a reinterpret_cast to void*
+ ptr_required_vuid = self.GetVuid("VUID-%s-%s-parameter" % (vuid_tag_name, value.name))
if value.type[:4] == 'PFN_':
- checkExpr.append('skipCall |= validate_required_pointer(layer_data->report_data, "{}", {ppp}"{}"{pps}, reinterpret_cast<const void*>({}{}));\n'.format(funcPrintName, valuePrintName, prefix, value.name, **postProcSpec))
+ checkExpr.append('skipCall |= validate_required_pointer(layer_data->report_data, "{}", {ppp}"{}"{pps}, reinterpret_cast<const void*>({}{}), {});\n'.format(funcPrintName, valuePrintName, prefix, value.name, ptr_required_vuid, **postProcSpec))
else:
- checkExpr.append('skipCall |= validate_required_pointer(layer_data->report_data, "{}", {ppp}"{}"{pps}, {}{});\n'.format(funcPrintName, valuePrintName, prefix, value.name, **postProcSpec))
+ checkExpr.append('skipCall |= validate_required_pointer(layer_data->report_data, "{}", {ppp}"{}"{pps}, {}{}, {});\n'.format(funcPrintName, valuePrintName, prefix, value.name, ptr_required_vuid, **postProcSpec))
return checkExpr
#
# Process struct member validation code, performing name suibstitution if required