Workaround vkGetPhysicalDeviceProperties2() issue
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES
shouldn't be passed down the pNext chain of
vkGetPhysicalDeviceProperties2() inputs. This
structure can only be queried through
vkGetPhysicalDeviceToolProperties().
Opened a dEQP-VK issue for it:
https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3872
Tests: dEQP-VK.pipeline.*.color_write_enable_maxa.*
Bug: b/240270223
Change-Id: If8b7852902bfc4822ee1cade565ac5fd049039b1
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/67250
Presubmit-Ready: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
Commit-Queue: Alexis Hétu <sugoi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
diff --git a/src/Vulkan/libVulkan.cpp b/src/Vulkan/libVulkan.cpp
index 2019b87..13c5ffb 100644
--- a/src/Vulkan/libVulkan.cpp
+++ b/src/Vulkan/libVulkan.cpp
@@ -3641,6 +3641,10 @@
vk::Cast(physicalDevice)->getProperties(properties);
}
break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES:
+ // TODO(b/240270223) : This structure shouldn't be used here.
+ // Remove this when https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3872 is fixed.
+ break;
default:
// "the [driver] must skip over, without processing (other than reading the sType and pNext members) any structures in the chain with sType values not defined by [supported extenions]"
UNSUPPORTED("pProperties->pNext sType = %s", vk::Stringify(extensionProperties->sType).c_str());