KhronosGroup / KhronosGroup/GLSL
Missing interaction with ARB_bindless_texture and ARB_gpu_shader_int64
- Dominant language
- JavaScript
- Stars
- 458
- Forks
- 114
- Avg merge
- 4m
- Merged PRs (30d)
- 1
Description
The `ARB_bindless_texture` extension predates `ARB_gpu_shader_int64` by a couple years. At the time 64-bit integer types were only provided by NVIDIA vendor extensions. As a result, `ARB_bindless_texture` says:
(19) How does ARB_bindless_texture differ from NV_bindless_texture?
RESOLVED:
- The constructors to convert between sampler and integer types use uvec2
rather than uint64_t to avoid a dependency on the 64-bit integer types
in the shader from NV_gpu_shader5.
However, these types were later added by `ARB_gpu_shader_int64`, but neither extension mentions any interaction with the other. Specifically, I believe that `ARB_gpu_shader_int64` should say that `uint64_t(sampler)` and `sampler(uint64_t)` constructors exist if `ARB_bindless_texture` is also supported.
As far as I'm aware, only NVIDIA currently supports both these extensions, and I believe they support these constructors. Mesa currently supports `ARB_gpu_shader_int64`, and `ARB_bindless_texture` is on the way.
Contributor guide
Assessment
This issue has not been assessed yet.