Closed jstolarek closed 5 years ago
No, that library should be included in version 7.10, too. I just tested it by compiling the tag from glslang's git and doing a dummy install. Debian must not be installing that library for some reason.
I can't include just the structure manually because it changes from version to version and the library is linked to it and there would be a mismatch. I'd rather not include the whole glslang package statically.
OK, should be fixed now. Debian isn't providing shared libraries and glslang includes the resource limits objects in the glslang.a archive when building statically.
Nope, I just pulled (I'm at 673896f) and I'm still seeing the same problem.
Should be fixed now.
meson now says:
....
Library glslang-default-resource-limits found: NO
...
OpenGL: true
slang shaders: true
...
glslang-default-resource-limits not found. Assuming it is linked statically into glslang.
Compilation ends with an error:
(.text+0x86a9): undefined reference to `glslang::TBuiltInParseablesHlsl::TBuiltInParseablesHlsl()'
/usr/bin/ld: snes9x-gtk@exe/.._shaders_slang.cpp.o: in function `GLSLShader::slang_compile(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
slang.cpp:(.text+0x3e6e): undefined reference to `glslang::DefaultTBuiltInResource'
/usr/bin/ld: slang.cpp:(.text+0x3ea3): undefined reference to `glslang::DefaultTBuiltInResource'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
That's not going to work, then. It'll have to use the shared libraries.
Does that mean this classifies as "wont fix" under Debian?
For now, yes. I recommend just building the shared glslang libraries manually and installing them. cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=true
with the glslang build system will do it.
I went ahead and added back the built-in default resources. This broke version compatibility before, so I don't know if there's still any problems.
I did a build on 491f57ca and 2971fbb. Both work, i.e. meson detects the shaders and ninja builds without errors. The only difference is that on 491f57ca there's this extra meson check for glslang-default-resource-limits. Thanks!
Is there a guide for dummies on how to use shaders? Somehow I expected that if shaders build successfully they will be available out of the box, but that does not seem to be the case - or at least I don't see any new menu options available or any new files being installed in the system.
They're available here: https://github.com/libretro/slang-shaders You select a .slangp profile and configure it through the View->Shader Parameters dialog.
Ok, now everything works - thanks!
I can't build glslang shaders on Debian Buster despite having
glslang-dev
library on my system. Here's a build log:As you can see there's a line that says
Library glslang-default-resource-limits found: NO
. Perhaps I am barking at the wrong tree here, but there seems to be no Debian package that providesglslang-default-resource-limits
library. glslang in Debian is currently at version 7.10 - is this missing library something that was added in a newer version? If so, then I suggest updating build instructions to list the minimal required version of glslang required to build the shaders.