<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