[Mesa-dev] [PATCH 17/17] st/mesa: expose ARB_compute_shader when compute is supported

Michel Dänzer michel at daenzer.net
Mon Jan 25 20:00:14 PST 2016


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.


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the mesa-dev mailing list