From b8b3cfd764d172418c5b604f09978b3093037dd5 Mon Sep 17 00:00:00 2001 From: Mike Schuchardt Date: Wed, 31 May 2017 09:14:22 -0600 Subject: 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 --- scripts/parameter_validation_generator.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'scripts/parameter_validation_generator.py') 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: -- cgit v1.2.3