Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate non-32bit integer support #3406

Open
teoxoy opened this issue Jan 19, 2023 · 1 comment
Open

Investigate non-32bit integer support #3406

teoxoy opened this issue Jan 19, 2023 · 1 comment
Labels
help required We need community help to make this happen. type: enhancement New feature or request

Comments

@teoxoy
Copy link
Member

teoxoy commented Jan 19, 2023

Vulkan has quite a lot of int related capabilities and I don't see us exposing this level of granularity.

shaderInt64

shaderInt16
storageBuffer16BitAccess/uniformAndStorageBuffer16BitAccess/storagePushConstant16/storageInputOutput16 (Vulkan 1.1 / VK_KHR_16bit_storage)

shaderInt8 (Vulkan 1.2 / VK_KHR_shader_float16_int8)
storageBuffer8BitAccess/uniformAndStorageBuffer8BitAccess/storagePushConstant8 (Vulkan 1.2 / VK_KHR_8bit_storage)

It would be nice to adapt https://github.com/kainino0x/gpuinfo-vulkan-query to see which of those capabilities we can coalesce.

We should also look into what D3D and Metal support as well.

@Elabajaba
Copy link
Contributor

For D3D, non-32bit ints are generally supported but legacy support makes 16-bit ints weird and both OS and compiler dependent.

https://github.com/microsoft/DirectXShaderCompiler/wiki/16-Bit-Scalar-Types

https://gpuopen.com/learn/first-steps-implementing-fp16/

@teoxoy teoxoy added type: enhancement New feature or request help required We need community help to make this happen. labels Feb 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help required We need community help to make this happen. type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants