Remove atomic usage for RG32Uint. #2415
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Looking into #2414, it appears that 64-bit atomics for RG32 texture is not supported by Vulkan at this time, and code for it was only added to prepare for if it is in the future.
However, marking every texture with this format as atomic not only could have performance implications, it is also causing issues on devices like M1 family GPUs that support native texture atomics but not 64-bit atomics. Thus it is better to remove it and revisit if Vulkan ever does decide to support this.
I left the part enabling MTLPixFmtCaps as it already has a flag to force-disable it since it isn't supported by Vulkan along with a comment explaining, and thus it seems pretty harmless. Although I removed enabling it on
RG32Sint
as according to the spec Metal only supports it forRG32Uint
.