-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compile all shaders and count errors #1126
base: master
Are you sure you want to change the base?
Conversation
Comment states that it should be "smaller", but its the opposite I think
You can clone my forked repository which compiles shaders using CMake on the master branch (much easier than using a python script): https://github.com/joshohagan/VulkanSamples/tree/master |
What compiler is that? glslangvalidator has support for ray tracing and I'm not aware of any recent version that doesn't support the RT shader types. |
I just tried to use glslandvalidator from vulkan sdk (1.3.275.0) bin folder |
The one from the SDK works fine with ray tracing. If a shader files running this script, it's mostly a problem with the script. If you post the error you get, I'll take a look. |
When I am running glsl's compileshaders.py I get this. Maybe we need to up target spirv version or something. But handling these errors and don't stop on them I think more desirable than just stopping compiling other shaders)
|
That's the script's fault. This is for inline ray tracing, which is using the fragment shader stage, so the rt stage handling doesn't work there. I'll take a look at that. |
Will no longer fail with certain shaderStages Refs #1126
I have pushed a fix for both the GLSL and HLSL compilation scripts. Both should now be able to compile all shaders using the compilers from the SDK. |
Try to compile as many shaders as possible. If any of them are not compiled, just output error and skip it. At the end, print out how many errors occurred.
This makes life easier if you have some testing in one shader and broke it, but want to compile another one. Or, if you don't have glslang compiler that supports ray tracing extensions, it will just skip it and compile all other shaders.
Without this fix, I need to remove ray tracing shaders because my glslang compiler doesn't support it, otherwise I won't be able to compile SSAO shaders.