KhronosGroup / KhronosGroup/glslang
Failing test with MSYS2 UCRT environment
- Dominant language
- C++
- Stars
- 3.6k
- Forks
- 989
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 31
Description
```
[ FAILED ] Glsl/CompileVulkanToSpirvTest.FromFile/spv_specConstant_vert, where GetParam() = "spv.specConstant.vert" (1 ms)
```
GCC 13.2.0 x86_64-w64-mingw32 ucrt64
```diff
With diff:
@@ -12,5 +12,5 @@
Name 4 \"main\"
Name 9 \"arraySize\"
- Name 14 \"foo(vf4[s216172782];\"
+ Name 14 \"foo(vf4[];\"
Name 13 \"p\"
Name 17 \"builtin_spec_constant(\"
@@ -107,8 +107,8 @@
48: 10 Load 22(ucol)
Store 47(param) 48
- 49: 2 FunctionCall 14(foo(vf4[s216172782];) 47(param)
+ 49: 2 FunctionCall 14(foo(vf4[];) 47(param)
Return
FunctionEnd
-14(foo(vf4[s216172782];): 2 Function None 12
+ 14(foo(vf4[];): 2 Function None 12
13(p): 11(ptr) FunctionParameter
15: Label
```
The tests all work fine for me with MSVC 2022, though.
I don't know enough about the guts of glslang to diagnose the problem. If I had to hazard a guess, I'd say it might be because I'm using GCC 13.2.0 and the CI's only testing GCC 9.4.0, so there could be something that compiles slightly differently with the different compiler version and STL version.
Contributor guide
Research direction
Start with Glsl/CompileVulkanToSpirvTest.FromFile/spv_specConstant_vert and reproduce it in the MSYS2 UCRT environment using GCC 13.2.0, then compare its SPIR-V output with the MSVC 2022 result shown in the report. Determine why the generated function signature differs and make the test pass consistently across these environments.
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
- 35/100