ci: build with SPIRV-Tools so the shader tests validate their output
CI configures without ANYPS5_ENABLE_SPIRV_TOOLS, so the shader recompiler never validates or optimizes the SPIR-V it emits - Recompiler.cpp guards the ValidateAndOptimizeSpirv call on that macro - and the shader tests lose the blocks that exercise it: - ShaderMemory.cpp guards five blocks on the macro, including three expectFailure cases that are the only coverage for rejecting invalid SPIR-V and for rejecting an unsupported Vulkan or SPIR-V target. - SpirvOptimizer.cpp includes the SPIRV-Tools headers, so the file is not built at all. - README.md gives the Spirv-Tools validation as how the recompiler is known to produce valid SPIR-V, and no job exercises it. Add the flag to CONFIGURE. Verified with the CI command and the CI device (lavapipe, subgroup 8, ANYPS5_REQUIRE_VULKAN=1, GALLIUM_OVERRIDE_CPU_CAPS=avx): the full suite passes 371/371 with the flag on, with the same 20 skips, and agc_shader_memory passes. SPIRV-Tools is a submodule built from source, so this adds build time to the job. I have not measured how much; if it is too much, the flag can go on one job instead of the shared CONFIGURE.
This commit is contained in:
parent
c8a2f06325
commit
d386818579
|
|
@ -16,6 +16,7 @@ concurrency:
|
|||
env:
|
||||
CONFIGURE: >-
|
||||
-G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON
|
||||
-DANYPS5_ENABLE_SPIRV_TOOLS=ON
|
||||
-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue