KhronosGroup / KhronosGroup/glslang

Propose A Better Scheme for Id Allocation Specifically For The Testing Purpose

Open
#3,512 5 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.