Missing interaction with ARB_bindless_texture and ARB_gpu_shader_int64
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.
I can confirm that NVIDIA allows casting between sampler* and uint64_t. Assigned to @ianromanick to create a PR.