i965: Remove now dead brw_wm_prog_key::proj_attrib_mask field.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 13 Mar 2013 04:09:35 +0000 (21:09 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 4 Apr 2013 22:38:19 +0000 (15:38 -0700)
The previous commit removed the last user of this field, so there's no
longer any point in setting it.  Removing this should eliminate
state-dependent recompiles, and make the precompile more reliable.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/i965/brw_fs.cpp
src/mesa/drivers/dri/i965/brw_wm.c
src/mesa/drivers/dri/i965/brw_wm.h

index 1dc08bfec5085ec9102254ba024f011f7605ab21..c12ba4571a9339dfab26685d763f525516031702 100644 (file)
@@ -2972,15 +2972,6 @@ brw_fs_precompile(struct gl_context *ctx, struct gl_shader_program *prog)
       key.iz_lookup |= IZ_DEPTH_WRITE_ENABLE_BIT;
    }
 
-   if (prog->Name != 0)
-      key.proj_attrib_mask = ~(GLbitfield64) 0;
-   else {
-      /* Bit VARYING_BIT_POS of key.proj_attrib_mask is never used, so to
-       * avoid unnecessary recompiles, always set it to 1.
-       */
-      key.proj_attrib_mask |= VARYING_BIT_POS;
-   }
-
    if (intel->gen < 6)
       key.input_slots_valid |= BITFIELD64_BIT(VARYING_SLOT_POS);
 
@@ -2988,9 +2979,6 @@ brw_fs_precompile(struct gl_context *ctx, struct gl_shader_program *prog)
       if (!(fp->Base.InputsRead & BITFIELD64_BIT(i)))
         continue;
 
-      if (prog->Name == 0)
-         key.proj_attrib_mask |= BITFIELD64_BIT(i);
-
       if (intel->gen < 6) {
          if (_mesa_varying_slot_in_fs((gl_varying_slot) i))
             key.input_slots_valid |= BITFIELD64_BIT(i);
index 895619abee5778031873e39f1720ae9798760a6d..35d6876edc82bf94a2beb8d151c747766831781e 100644 (file)
@@ -285,8 +285,6 @@ brw_wm_debug_recompile(struct brw_context *brw,
                       old_key->clamp_fragment_color, key->clamp_fragment_color);
    found |= key_debug(intel, "line smoothing",
                       old_key->line_aa, key->line_aa);
-   found |= key_debug(intel, "proj_attrib_mask",
-                      old_key->proj_attrib_mask, key->proj_attrib_mask);
    found |= key_debug(intel, "renderbuffer height",
                       old_key->drawable_height, key->drawable_height);
    found |= key_debug(intel, "input slots valid",
@@ -423,19 +421,6 @@ static void brw_wm_populate_key( struct brw_context *brw,
    if (intel->gen < 6)
       key->stats_wm = brw->intel.stats_wm;
 
-   /* BRW_NEW_WM_INPUT_DIMENSIONS */
-   /* Only set this for fixed function.  The optimization it enables isn't
-    * useful for programs using shaders.
-    */
-   if (ctx->Shader.CurrentFragmentProgram)
-      key->proj_attrib_mask = ~(GLbitfield64) 0;
-   else {
-      /* Bit VARYING_BIT_POS of key.proj_attrib_mask is never used, so to
-       * avoid unnecessary recompiles, always set it to 1.
-       */
-      key->proj_attrib_mask = brw->wm.input_size_masks[4-1] | VARYING_BIT_POS;
-   }
-
    /* _NEW_LIGHT */
    key->flat_shade = (ctx->Light.ShadeModel == GL_FLAT);
 
index f43d42c4b1016f679103081b156afffc742ee98f..28e87344364f9c6570dfef83a1270bd8b580a13f 100644 (file)
@@ -67,8 +67,6 @@ struct brw_wm_prog_key {
    GLuint clamp_fragment_color:1;
    GLuint line_aa:2;
 
-   GLbitfield64 proj_attrib_mask; /**< one bit per fragment program attribute */
-
    GLushort drawable_height;
    GLbitfield64 input_slots_valid;
    GLuint program_string_id:32;