aboutsummaryrefslogtreecommitdiff
path: root/scripts/parameter_validation_generator.py
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2017-06-26 16:27:15 -0600
committerMark Lobodzinski <mark@lunarg.com>2017-06-28 10:57:05 -0600
commit7c32e6842579a5d3a27ed1b0108257bc3efee42e (patch)
treeb630b990e88de07ff5e3d2d7640b25eca7c0d0cb /scripts/parameter_validation_generator.py
parent0e0acda882ce2a64d50f78517296ccea6a7058ac (diff)
downloadusermoji-7c32e6842579a5d3a27ed1b0108257bc3efee42e.tar.xz
layers: Plumb in PV implicit requiredbits vuids
Change-Id: I6a9296d7f7bd73bf90855b32c522ab9d2b8bb04a
Diffstat (limited to 'scripts/parameter_validation_generator.py')
-rw-r--r--scripts/parameter_validation_generator.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/scripts/parameter_validation_generator.py b/scripts/parameter_validation_generator.py
index 57f2edcf..e10ab86e 100644
--- a/scripts/parameter_validation_generator.py
+++ b/scripts/parameter_validation_generator.py
@@ -1022,19 +1022,23 @@ class ParamCheckerOutputGenerator(OutputGenerator):
if not flagBitsName in self.flagBits:
usedLines.append('skipCall |= validate_reserved_flags(layer_data->report_data, "{}", {ppp}"{}"{pps}, {pf}{});\n'.format(funcName, valueDisplayName, value.name, pf=valuePrefix, **postProcSpec))
else:
- flagsRequired = 'false' if value.isoptional else 'true'
+ if value.isoptional:
+ flagsRequired = 'false'
+ vuid = 'VALIDATION_ERROR_UNDEFINED'
+ else:
+ flagsRequired = 'true'
+ vuid_name_tag = structTypeName if structTypeName is not None else funcName
+ vuid = self.GetVuid("VUID-%s-%s-requiredbitmask" % (vuid_name_tag, value.name))
allFlagsName = 'All' + flagBitsName
- usedLines.append('skipCall |= validate_flags(layer_data->report_data, "{}", {ppp}"{}"{pps}, "{}", {}, {pf}{}, {}, false);\n'.format(funcName, valueDisplayName, flagBitsName, allFlagsName, value.name, flagsRequired, pf=valuePrefix, **postProcSpec))
+ usedLines.append('skipCall |= validate_flags(layer_data->report_data, "{}", {ppp}"{}"{pps}, "{}", {}, {pf}{}, {}, false, {});\n'.format(funcName, valueDisplayName, flagBitsName, allFlagsName, value.name, flagsRequired, vuid, pf=valuePrefix, **postProcSpec))
elif value.type in self.flagBits:
flagsRequired = 'false' if value.isoptional else 'true'
allFlagsName = 'All' + value.type
- usedLines.append('skipCall |= validate_flags(layer_data->report_data, "{}", {ppp}"{}"{pps}, "{}", {}, {pf}{}, {}, true);\n'.format(funcName, valueDisplayName, value.type, allFlagsName, value.name, flagsRequired, pf=valuePrefix, **postProcSpec))
+ usedLines.append('skipCall |= validate_flags(layer_data->report_data, "{}", {ppp}"{}"{pps}, "{}", {}, {pf}{}, {}, true, VALIDATION_ERROR_UNDEFINED);\n'.format(funcName, valueDisplayName, value.type, allFlagsName, value.name, flagsRequired, pf=valuePrefix, **postProcSpec))
elif value.isbool:
usedLines.append('skipCall |= validate_bool32(layer_data->report_data, "{}", {ppp}"{}"{pps}, {}{});\n'.format(funcName, valueDisplayName, valuePrefix, value.name, **postProcSpec))
elif value.israngedenum:
enumRange = self.enumRanges[value.type]
- if value.type == "VkObjectEntryTypeNVX":
- garbage = 2
usedLines.append('skipCall |= validate_ranged_enum(layer_data->report_data, "{}", {ppp}"{}"{pps}, "{}", {}, {}, {}{});\n'.format(funcName, valueDisplayName, value.type, enumRange[0], enumRange[1], valuePrefix, value.name, **postProcSpec))
#
# If this is a struct, see if it contains members that need to be checked