Add support for 64-bit formats.#1302
Conversation
EmilioLaiso
left a comment
There was a problem hiding this comment.
Is there a plan to add a test exercising these new formats?
| // Only for RWTextures | ||
| case Format::R64Uint: | ||
| case Format::R64Sint: | ||
| case Format::RG64Uint: | ||
| case Format::RG64Sint: |
There was a problem hiding this comment.
Then should we have isRwTextureCompatible ?
There was a problem hiding this comment.
I don't think so. Like you can still have an SRV for these and load it as a regular texture, but you can't use a sampler on it from what I understand. It's one of these edge cases where there is no clear yes/no answer on 'can we create a texture with this format'.
There are already tests that use these formats. However, the resources for those tests still use raw dx12, vulkan, and metal objects, not the generic types. In a future PR we will be creating these resources with the generic types and thus need support for these 64-bit formats. Since that change is huge I am splitting it up in smaller steps that can be reviewed individually so it's easier to see what is going on. |
DX12, Vulkan and Metal do support 64-bit formats for a couple of use cases like Storage(UAV) Textures.
This PR adds the 64-bit formats that are supported to the list of available formats and adds the necessary code to convert to API specific formats.
Note that 64-bit formats are not always supported for vertex inputs or sampled textures.