Revert use of Mesa IR optimizer for ARB_fragment_programs
authorCarl Worth <cworth@cworth.org>
Thu, 12 Feb 2015 18:14:24 +0000 (10:14 -0800)
committerCarl Worth <cworth@cworth.org>
Thu, 12 Feb 2015 21:33:12 +0000 (13:33 -0800)
Commit f82f2fb3dc770902f1657ab1c22e6004faa3afab added use of the Mesa
IR optimizer for both ARB_fragment_program and ARB_vertex_program, but
only justified the vertex-program portions with measured performance
improvements.

Meanwhile, the optimizer was seen to generate hundreds of unused
immediates without discarding them, causing failures.

Discard the use of the optimizer for now to fix the regression. (In
the future, we anticpate things moving from Mesa IR to NIR for better
optimization anyway.)

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82477

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
CC: "10.3 10.4 10.5" <mesa-stable@lists.freedesktop.org>
src/mesa/program/arbprogparse.c

index 7dec399a5383ff2c378d6d4cfe4994f8d300e3e7..53a6f37cb7a17d096fa3a135b7d89c2a6bed482b 100644 (file)
@@ -85,9 +85,6 @@ _mesa_parse_arb_fragment_program(struct gl_context* ctx, GLenum target,
       return;
    }
 
-   if ((ctx->_Shader->Flags & GLSL_NO_OPT) == 0)
-      _mesa_optimize_program(ctx, &prog);
-
    free(program->Base.String);
 
    /* Copy the relevant contents of the arb_program struct into the