diff --git a/src/nouveau/vulkan/nvk_image.c b/src/nouveau/vulkan/nvk_image.c index 6ecdd15aa10..1c9a2dafd9a 100644 --- a/src/nouveau/vulkan/nvk_image.c +++ b/src/nouveau/vulkan/nvk_image.c @@ -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; } diff --git a/src/nouveau/vulkan/nvk_physical_device.c b/src/nouveau/vulkan/nvk_physical_device.c index eef49db809e..1996a692e4c 100644 --- a/src/nouveau/vulkan/nvk_physical_device.c +++ b/src/nouveau/vulkan/nvk_physical_device.c @@ -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, diff --git a/src/nouveau/vulkan/nvk_shader.c b/src/nouveau/vulkan/nvk_shader.c index fb38ac818b0..64e50a23331 100644 --- a/src/nouveau/vulkan/nvk_shader.c +++ b/src/nouveau/vulkan/nvk_shader.c @@ -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,