On Mon, Jan 25, 2016 at 11:00 PM, Michel Dänzer <mic...@daenzer.net> wrote: > On 26.01.2016 01:17, Nicolai Hähnle wrote: >> On 25.01.2016 10:04, Ilia Mirkin wrote: >>> Yeah so this isn't going to fly. r600/radeonsi both expose >>> PIPE_CAP_COMPUTE, for clover, but won't support these compute shaders >>> quite yet. Not sure what the solution is here... maybe just add >>> another cap? PIPE_CAP_GLSL_COMPUTE or something? Or require a backend >>> to also set PIPE_CAP_GLSL_VERSION to 430 for ARB_compute_shader to >>> become exposed? Don't know. >> >> GLSL 430 also requires arrays_of_arrays. I don't actually know how much >> we need to do to support that, but maybe it'd be better not to depend on >> that. >> >> A new cap is an option. A slightly weird but I think reasonable option >> would be to require a PIPE_CAP_GLSL_VERSION of 420, since >> ARB_compute_shader officially requires OpenGL 4.2 anyway, and then let >> us deal with the fallout when we up that version number. > > I guess that works, but FWIW, a more general solution might be to split > up PIPE_SHADER_CAP_PREFERRED_IR into individual caps for each IR, and > enable ARB_compute_shader only if TGSI is supported for PIPE_SHADER_COMPUTE.
How about a PIPE_SHADER_CAP_SUPPORTED_IRS which returns a bitfield of all the supported pipe_shader_ir's. -ilia _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev