On 08/26/2016 06:46 PM, Ilia Mirkin wrote:
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.
I think your patch is much more comprehensive, my patch only makes Tomb Raider happy. Without the removal of the enable bit, it looks good to me.

MM


+            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

Reply via email to