aboutsummaryrefslogtreecommitdiff
path: root/scripts/parameter_validation_generator.py
diff options
context:
space:
mode:
authorMike Schuchardt <mikes@lunarg.com>2017-05-31 09:14:22 -0600
committerMike Schuchardt <mikes@lunarg.com>2017-05-31 12:48:23 -0600
commitb8b3cfd764d172418c5b604f09978b3093037dd5 (patch)
tree72fa78c9e82295fe324af975e1d735c3a2aef46c /scripts/parameter_validation_generator.py
parent08f6754dcf2a746e475513b4a05ff81e27e22a7b (diff)
downloadusermoji-b8b3cfd764d172418c5b604f09978b3093037dd5.tar.xz
layers: PV code gen for FlagBits enum parameters
Extend validate_flags to work in instances where a single Vk*FlagBits enum value is valid instead of a bitmask with multiple values. Change-Id: Ib8d34551923f7ecb2549500dfde674fa1094ac8b
Diffstat (limited to 'scripts/parameter_validation_generator.py')
-rw-r--r--scripts/parameter_validation_generator.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/scripts/parameter_validation_generator.py b/scripts/parameter_validation_generator.py
index 57e5551d..1c5a4e4a 100644
--- a/scripts/parameter_validation_generator.py
+++ b/scripts/parameter_validation_generator.py
@@ -963,7 +963,11 @@ class ParamCheckerOutputGenerator(OutputGenerator):
else:
flagsRequired = 'false' if value.isoptional else 'true'
allFlagsName = 'All' + flagBitsName
- usedLines.append('skipCall |= validate_flags(report_data, "{}", {ppp}"{}"{pps}, "{}", {}, {pf}{}, {});\n'.format(funcName, valueDisplayName, flagBitsName, allFlagsName, value.name, flagsRequired, pf=valuePrefix, **postProcSpec))
+ usedLines.append('skipCall |= validate_flags(report_data, "{}", {ppp}"{}"{pps}, "{}", {}, {pf}{}, {}, false);\n'.format(funcName, valueDisplayName, flagBitsName, allFlagsName, value.name, flagsRequired, 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(report_data, "{}", {ppp}"{}"{pps}, "{}", {}, {pf}{}, {}, true);\n'.format(funcName, valueDisplayName, value.type, allFlagsName, value.name, flagsRequired, pf=valuePrefix, **postProcSpec))
elif value.isbool:
usedLines.append('skipCall |= validate_bool32(report_data, "{}", {ppp}"{}"{pps}, {}{});\n'.format(funcName, valueDisplayName, valuePrefix, value.name, **postProcSpec))
elif value.israngedenum: