RetroArch icon indicating copy to clipboard operation
RetroArch copied to clipboard

Allow using system spirv cross

Open apteryks opened this issue 1 year ago • 3 comments

Description

This change teaches the build system to use a system provided SPIRV-Cross library when RetroArch is configured via configure --disable-builtinspirv_cross flag.

Related Issues

https://github.com/libretro/RetroArch/issues/17079

apteryks avatar Oct 06 '24 15:10 apteryks

This is an issue as can be seen in the CI jobs.

We don't really want our current platforms to use system-provided SPIRV-Cross. You can add this functionality but it should be optional and should not be the default.

LibretroAdmin avatar Oct 06 '24 21:10 LibretroAdmin

We don't really want our current platforms to use system-provided SPIRV-Cross. You can add this functionality but it should be optional and should not be the default.

It already should be optional; unless someone passes the --disable-builtinspirv_cross configure flag, it shouldn't change anything. I'll look at the one CI failure now, thanks.

apteryks avatar Oct 07 '24 00:10 apteryks

I've looked at the WiiU build failure, and I'm puzzled. Is it possible to build with V=1 in to see which CXXFLAGS were used?

apteryks avatar Oct 07 '24 00:10 apteryks

Can you rebase and trigger a rebuild? I expect we'd get more information after my changes to the makefiles.

pstef avatar Jul 26 '25 16:07 pstef

Can you rebase and trigger a rebuild? I expect we'd get more information after my changes to the makefiles.

Done!

apteryks avatar Jul 27 '25 06:07 apteryks

I'm rusty on the RetroArch build system, but perhaps it doesn't work for the Wii build because it's calling its Makefile directly instead of going through ./configure, which I think would mean check_enabled SPIRV_CROSS BUILTINSPIRV_CROSS 'builtin spirv-cross' 'spirv-cross is' true is not called and the values not set ?

apteryks avatar Jul 27 '25 08:07 apteryks

I'm rusty on the RetroArch build system, but perhaps it doesn't work for the Wii build because it's calling its Makefile directly instead of going through ./configure, which I think would mean check_enabled SPIRV_CROSS BUILTINSPIRV_CROSS 'builtin spirv-cross' 'spirv-cross is' true is not called and the values not set ?

I think this should fix it:

modified   Makefile.wiiu
@@ -165,6 +165,7 @@ endif
       #WANT_IFADDRS = 1
       HAVE_OVERLAY = 1
       HAVE_SPIRV_CROSS = 1
+      HAVE_BUILTINSPIRV_CROSS = 1
       HAVE_SLANG = 1
       HAVE_DSP_FILTER = 1
       HAVE_VIDEO_FILTER = 1

apteryks avatar Jul 27 '25 08:07 apteryks

I think the change is correct according to how it is built for WiiU.

@pstef Do you concur ? ;)

Thank you.

gouchi avatar Sep 09 '25 19:09 gouchi

The qb/config.libs.sh spaghetti is a bit verbose, but otherwise I can't find any errors in this change yet.

pstef avatar Sep 09 '25 19:09 pstef