On Fri, Aug 26, 2016 at 12:42 PM, Miklós Máté <mtm...@gmail.com> wrote: > Tomb Raider 2013 uses #version 420 in compute shaders, and current Mesa > rejects them, because the local size qualifiers require 430. > > Signed-off-by: Miklós Máté <mtm...@gmail.com> > --- > src/compiler/glsl/glsl_parser.yy | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/src/compiler/glsl/glsl_parser.yy > b/src/compiler/glsl/glsl_parser.yy > index 4043dae..6857443 100644 > --- a/src/compiler/glsl/glsl_parser.yy > +++ b/src/compiler/glsl/glsl_parser.yy > @@ -1615,10 +1615,9 @@ layout_qualifier_id: > for (int i = 0; i < 3; i++) { > if (match_layout_qualifier(local_size_qualifiers[i], $1, > state) == 0) { > - if (!state->has_compute_shader()) {
IIRC this is the only use of ->has_compute_shader() so you could also remove that function. I sent a similar patch earlier that also removed the GL_ARB_compute_shader enable as it's not anywhere in the specs, but was told that a lot of people had stuck it in their shaders anyways, so I guess that bit has to stay. Chances are, though, that you want to go through and enable bits like shared memory, etc, not just the local_size. Have a look at https://patchwork.freedesktop.org/patch/107119/ Feel free to respin it without the removal of the extension enable. > + if (state->stage != MESA_SHADER_COMPUTE) { > _mesa_glsl_error(& @3, state, > - "%s qualifier requires GLSL 4.30 or " > - "GLSL ES 3.10 or ARB_compute_shader", > + "%s qualifier is only allowed in compute > shader", > local_size_qualifiers[i]); > YYERROR; > } else { > -- > 2.9.3 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev