KhronosGroup / KhronosGroup/glslang
GL_ARB_bindless_texture incorrectly attributes "bound" samplers/images as "bindless"
- Dominant language
- C++
- Stars
- 3.6k
- Forks
- 989
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 31
Description
In the test shader GL_ARB_bindless_texture.frag.out, s5 defined under uniform block **uniform BB {sampler2D s5;} bbs5[2];** is mis-attributed as bindless. As per section 4.4.6 of https://registry.khronos.org/OpenGL/extensions/ARB/ARB_bindless_texture.txt if there is no qualifier, then default should be "bound"
" In the absence of these qualifiers, sampler and image uniforms are considered "bound".
Pasting the log excerpt from GL_ARB_bindless_texture.frag.out
```
0:45 s5: direct index for structure (layout( column_major shared layoutBindlessSampler) uniform sampler2D)
0:45 indirect index (layout( column_major shared) temp block{layout( column_major shared layoutBindlessSampler) uniform sampler2D s5})
0:45 'bbs5' (layout( column_major shared) uniform 2-element array of block{layout( column_major shared layoutBindlessSampler) uniform sampler2D s5})
0:45 'index' ( uniform int)
```
Contributor guide
Research direction
Start with GL_ARB_bindless_texture.frag.out and compare the reported qualifier for s5 against section 4.4.6 of the ARB_bindless_texture specification. Trace the compiler path that produces this diagnostic for the uniform block declaration. Done means the test output attributes an unqualified sampler as bound rather than bindless, with the relevant test still passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100