KhronosGroup / SPIRV-Cross

SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.
Apache License 2.0
1.96k stars 549 forks source link

Tests failures #2319

Closed dbermond closed 1 month ago

dbermond commented 1 month ago

The tests are currently failing to pass for me, showing tons of messages similar to the one bellow:

error: line 1: Capability cannot appear before the memory model instruction
  OpCapability Shader

The full output is very large, so I've attached it here: test-log.txt

I can confirm that in tag vulkan-sdk-1.3.268.0 the tests are passing fine, but in tag vulkan-sdk-1.3.275.0 they fail with the above output.

A git bisect shows the offending commit as being ec42cb1c4150f8faa814957ddf9e115242d2a054.

System information:

HansKristian-Work commented 1 month ago

Does it reproduce for you on main? We run the test suite in CI, and it works fine locally and on CI.

dbermond commented 1 month ago

Thank you for the reply.

No, it still does not build using the current git master, but I could find what is causing this.

The issue happens when building with GCC 13. When building with GCC 14, the tests passes fine. So, maybe some compiler bug that was fixed in GCC 14?

After I opened this issue here, the compiler in Arch Linux was updated to GCC 14, and the tests passes fine using it. GCC 13 is still available in the repositories, so I can check with both compilers. Using GCC 13 the issue happens, and with GCC 14 everything is fine.

Your CI configuration uses Ubuntu 20.04 and 22.04, which defaults to GCC 9 and GCC 11 respectively. I suspect that you cannot reproduce this issue due to not be using GCC 13.

Since this does not affect me anymore as it's currently working fine with the latest GCC 14 in Arch Linux, I will close this issue.