KhronosGroup / KhronosGroup/glslang
Allowed types for specialization constants
- Dominant language
- C++
- Stars
- 3.6k
- Forks
- 989
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 31
Description
The GLSL extension `GL_KHR_vulkan_glsl` says that specialization constants can only be used with scalar `int`, `float` or `bool`.
On the other hand, glslang compiles shaders with specialization constants whose type is any unsigned/signed integer variant of any size, or double.
Which types are actually allowed?
Contributor guide
Research direction
Start by reading the GL_KHR_vulkan_glsl specialization-constant rule and comparing it with the types glslang currently compiles. Determine which behavior is intended, then identify whether the resolution requires aligning the compiler or clarifying the extension; done means the allowed types and resulting behavior are unambiguous.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100