diff options
| author | Jamie Madill <jmadill@chromium.org> | 2017-11-08 14:11:26 -0500 |
|---|---|---|
| committer | Tobin Ehlis <tobine@google.com> | 2017-11-09 09:51:07 -0700 |
| commit | c284bde6b1c4a4af3ff651c70836f31deb7532a4 (patch) | |
| tree | b513df9967d13f3f70d0e9c9fbb5028265a04068 /scripts | |
| parent | 931a3936ecf30348013e0e3dd14cce02eb0c0beb (diff) | |
| download | usermoji-c284bde6b1c4a4af3ff651c70836f31deb7532a4.tar.xz | |
layers: Don't confuse VkResult/VkBool32 in generators.
In some cases, the generator would return the special error for
validation failed for functions that return a VkBool32. Fix this, and
also some cases of initializing a VkBool32 with VkResult.
Change-Id: Icc071e647f293848d62a922d492ed41dfc5a4be1
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/object_tracker_generator.py | 7 | ||||
| -rw-r--r-- | scripts/parameter_validation_generator.py | 8 |
2 files changed, 13 insertions, 2 deletions
diff --git a/scripts/object_tracker_generator.py b/scripts/object_tracker_generator.py index 50e19cc3..4350fa39 100644 --- a/scripts/object_tracker_generator.py +++ b/scripts/object_tracker_generator.py @@ -937,7 +937,12 @@ class ObjectTrackerOutputGenerator(OutputGenerator): API = cmdinfo.elem.attrib.get('name').replace('vk', dispatch_table, 1) # Put all this together for the final down-chain call if assignresult != '': - self.appendSection('command', ' if (skip) return VK_ERROR_VALIDATION_FAILED_EXT;') + if resulttype.text == 'VkResult': + self.appendSection('command', ' if (skip) return VK_ERROR_VALIDATION_FAILED_EXT;') + elif resulttype.text == 'VkBool32': + self.appendSection('command', ' if (skip) return VK_FALSE;') + else: + raise Exception('Unknown result type ' + resulttype.text) else: self.appendSection('command', ' if (skip) return;') self.appendSection('command', ' ' + assignresult + API + '(' + paramstext + ');') diff --git a/scripts/parameter_validation_generator.py b/scripts/parameter_validation_generator.py index 01ed1bbf..9c673fc4 100644 --- a/scripts/parameter_validation_generator.py +++ b/scripts/parameter_validation_generator.py @@ -1200,7 +1200,13 @@ class ParameterValidationOutputGenerator(OutputGenerator): cmdDef += '%sbool skip = false;\n' % indent if not just_validate: if command.result != '': - cmdDef += indent + '%s result = VK_ERROR_VALIDATION_FAILED_EXT;\n' % command.result + if command.result == "VkResult": + cmdDef += indent + '%s result = VK_ERROR_VALIDATION_FAILED_EXT;\n' % command.result + elif command.result == "VkBool32": + cmdDef += indent + '%s result = VK_FALSE;\n' % command.result + else: + raise Exception("Unknown result type: " + command.result) + cmdDef += '%sstd::unique_lock<std::mutex> lock(global_lock);\n' % indent for line in lines: cmdDef += '\n' |
