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());