<snip>


Questions
=========

1. How do we get good test coverage?
------------------------------------
A natural candidate would be to add a SPIR-V execution mode for the piglit shader_runner. That is, use build scripts to extract shaders from shader_test files and feed them through glslang to get spv files, and then load those from shader_runner if a `-spirv' flag is passed on the command line.

This immediately runs into the difficulty that GL_ARB_gl_spirv wants SSO linking semantics, and I'm pretty sure the majority of shader_test files don't support that -- if only because they don't set a location on the fragment shader color output.

Some ideas:
1. Add a GL_MESA_spirv_link_by_name extension
2. Have glslang add the locations for us (probably difficult because glslang seems to be focused on one shader stage at a time.) 3. Hack something together in the shader_test-to-spv build scripts via regular expressions (and now we have two problems? :-) )
4. Other ideas?


I think there should be a large number of tests that do work. A simple test would be to use sed to insert SSO ENABLED into the [require] block of all shader running tests and see how may fail. This should give you a list to work with for the conversions.

<snip>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to