Mesa (master): turnip: fix VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jun 26 11:32:44 UTC 2020


Module: Mesa
Branch: master
Commit: 1854eeefded9dafca62a24ed4b2f460e0bf1dd71
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1854eeefded9dafca62a24ed4b2f460e0bf1dd71

Author: Jonathan Marek <jonathan at marek.ca>
Date:   Thu Jun 25 23:32:20 2020 -0400

turnip: fix VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES

My attempt to be clever here backfired, it overwrites the pNext and stops
the loop (causing deqp to fail to query extension features after that).

Fixes: 62de79ac4492ac9e ("turnip: implement VK_KHR_shader_draw_parameters")

Signed-off-by: Jonathan Marek <jonathan at marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5654>

---

 src/freedreno/vulkan/tu_device.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/src/freedreno/vulkan/tu_device.c b/src/freedreno/vulkan/tu_device.c
index 263c6576cf8..0b4b888bb1b 100644
--- a/src/freedreno/vulkan/tu_device.c
+++ b/src/freedreno/vulkan/tu_device.c
@@ -636,22 +636,22 @@ tu_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
    vk_foreach_struct(ext, pFeatures->pNext)
    {
       switch (ext->sType) {
-      case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
-         *((VkPhysicalDeviceVulkan11Features*) ext) = (VkPhysicalDeviceVulkan11Features) {
-            .storageBuffer16BitAccess            = false,
-            .uniformAndStorageBuffer16BitAccess  = false,
-            .storagePushConstant16               = false,
-            .storageInputOutput16                = false,
-            .multiview                           = false,
-            .multiviewGeometryShader             = false,
-            .multiviewTessellationShader         = false,
-            .variablePointersStorageBuffer       = false,
-            .variablePointers                    = false,
-            .protectedMemory                     = false,
-            .samplerYcbcrConversion              = true,
-            .shaderDrawParameters                = true,
-         };
+      case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
+         VkPhysicalDeviceVulkan11Features *features = (void *) ext;
+         features->storageBuffer16BitAccess            = false;
+         features->uniformAndStorageBuffer16BitAccess  = false;
+         features->storagePushConstant16               = false;
+         features->storageInputOutput16                = false;
+         features->multiview                           = false;
+         features->multiviewGeometryShader             = false;
+         features->multiviewTessellationShader         = false;
+         features->variablePointersStorageBuffer       = false;
+         features->variablePointers                    = false;
+         features->protectedMemory                     = false;
+         features->samplerYcbcrConversion              = true;
+         features->shaderDrawParameters                = true;
          break;
+      }
       case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
          VkPhysicalDeviceVariablePointersFeatures *features = (void *) ext;
          features->variablePointersStorageBuffer = false;



More information about the mesa-commit mailing list