KhronosGroup / KhronosGroup/GLSL

Missing interaction with ARB_bindless_texture and ARB_gpu_shader_int64

Open
#14 1 comment 0 reactions 1 assignee Claimed by @ianromanick View on GitHub
OpenGL
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.