Skip to content

Conversation

s-perron
Copy link
Collaborator

@s-perron s-perron commented Jun 11, 2025

We have had many request to use the unknown image format for storage
images (OpTypeImage with sampled=2). We did not want to do that when
targeting earlier versions of Vulkan because it could break existing
code. The capability StorageImageWriteWithoutFormat is not guarenteed to
be available on Vulkan 1.1 devices. This means the application will stop
working.

However, Vulkan 1.3 guarentees that StorageImageWriteWithoutFormat and
StorageImageReadWithoutFormat are available. We can make this change for
VK1.3 and later without breaking existing code.

Fixes #7484

We have had many request to use the `unknown` image format for storage images (OpTypeImage with sampled=2). We did not want to do that when targeting earlier versions of Vulkan because it could break existing code. The capability StorageImageWriteWithoutFormat is not guarenteed to be available on Vulkan 1.1 devices. This means the application will stop working. However, Vulkan 1.3 guarentees that StorageImageWriteWithoutFormat and StorageImageReadWithoutFormat are available. We can make this change for VK1.3 and later without breaking existing code. Fixes microsoft#7478
@s-perron s-perron enabled auto-merge (squash) June 12, 2025 17:20
@s-perron s-perron requested a review from Keenuts June 12, 2025 17:20
@s-perron s-perron merged commit 57177f7 into microsoft:main Jun 13, 2025
12 checks passed
@github-project-automation github-project-automation bot moved this from New to Done in HLSL Roadmap Jun 13, 2025
@s-perron s-perron deleted the i7478 branch June 13, 2025 16:12
s-perron added a commit that referenced this pull request Jun 23, 2025
s-perron added a commit that referenced this pull request Jun 24, 2025
I just learned more about the VK feature. In VK1.3, the validation rule was moved from the existence of the capability to being specific to the format. It is possible that people will see regressions if their code runs on a driver that does not support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT or VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT for the format used by the developer. Reverts #7528
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants