KhronosGroup / KhronosGroup/glslang
Propose A Better Scheme for Id Allocation Specifically For The Testing Purpose
- Dominant language
- C++
- Stars
- 3.6k
- Forks
- 989
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 31
Description
It's great that we maintain a large repository of shaders in this project to ensure that glslang is composed with high quality code. However, the exact-match model in test result and the counting approach of id allocation strategy are making it difficult to reason about the test result change. Even a really simple change in glslang could lead to an id shift and all relevant test results may be edited entirely.
Could we add a new scheme of id allocation for testing only so that those ids are somewhat more stable, and the test result changes are easier to reason about? For example, we may let "id = opcode * 10000 + offset" so at least ids are stable across different opcodes?
Contributor guide
Research direction
Start by tracing glslang's current test-result exact matching and counting-based ID allocation. Compare the proposed opcode-and-offset approach with existing shader tests and determine the stability requirements across simple compiler changes. The work is done when a documented testing-only allocation scheme is implemented and relevant result changes are easier to review without unrelated ID shifts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100