Module: wine Branch: master Commit: 60eff6d65a51b5fd52d0b22754c88976a244917e URL: https://source.winehq.org/git/wine.git/?a=commit;h=60eff6d65a51b5fd52d0b2275...
Author: Liam Middlebrook lmiddlebrook@nvidia.com Date: Mon Jan 25 07:16:34 2021 -0800
winevulkan: Skip commands which are declared but not defined.
Signed-off-by: Liam Middlebrook lmiddlebrook@nvidia.com Signed-off-by: Piers Daniell pdaniell@nvidia.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/winevulkan/make_vulkan | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index 40978a8fc7a..f4c5065ccd9 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -2936,7 +2936,13 @@ class VkRegistry(object): commands = ext.findall("require/command") for command in commands: cmd_name = command.attrib["name"] - self.funcs[cmd_name].extensions.append(ext_name) + # Need to verify that the command is defined, and otherwise skip it. + # vkCreateScreenSurfaceQNX is declared in <extensions> but not defined in + # <commands>. A command without a definition cannot be enabled, so it's valid for + # the XML file to handle this, but because of the manner in which we parse the XML + # file we pre-populate from <commands> before we check if a command is enabled. + if cmd_name in self.funcs: + self.funcs[cmd_name].extensions.append(ext_name)
# Some extensions are not ready or have numbers reserved as a place holder. if ext.attrib["supported"] == "disabled":