[Mesa-dev] [RFC] ARB_gl_spirv and NIR backend for radeonsi

Timothy Arceri tarceri at itsqueeze.com
Sun May 21 15:46:05 UTC 2017


<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>


More information about the mesa-dev mailing list