nvk: Advertise shaderStorageImageReadWithoutFormat
authorFaith Ekstrand <faith.ekstrand@collabora.com>
Wed, 3 May 2023 23:14:09 +0000 (18:14 -0500)
committerMarge Bot <emma+marge@anholt.net>
Fri, 4 Aug 2023 21:32:05 +0000 (21:32 +0000)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

src/nouveau/vulkan/nvk_image.c
src/nouveau/vulkan/nvk_physical_device.c
src/nouveau/vulkan/nvk_shader.c

index 6ecdd15..1c9a2da 100644 (file)
@@ -65,6 +65,7 @@ nvk_get_image_format_features(struct nvk_physical_device *pdev,
 
    if (nil_format_supports_storage(&pdev->info, p_format)) {
       features |= VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT |
+                  VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT |
                   VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT;
    }
 
index eef49db..1996a69 100644 (file)
@@ -374,7 +374,7 @@ nvk_get_device_features(const struct nv_device_info *dev,
       .shaderImageGatherExtended = true,
       .shaderStorageImageExtendedFormats = true,
       /* TODO: shaderStorageImageMultisample */
-      /* TODO: shaderStorageImageReadWithoutFormat */
+      .shaderStorageImageReadWithoutFormat = true,
       .shaderStorageImageWriteWithoutFormat = true,
       .shaderUniformBufferArrayDynamicIndexing = true,
       .shaderSampledImageArrayDynamicIndexing = true,
index fb38ac8..64e50a2 100644 (file)
@@ -68,6 +68,7 @@ nvk_physical_device_spirv_options(const struct nvk_physical_device *pdevice,
          .demote_to_helper_invocation = true,
          .draw_parameters = true,
          .geometry_streams = true,
+         .image_read_without_format = true,
          .image_write_without_format = true,
          .min_lod = true,
          .multiview = true,