i965: get uses discard from nir info
authorTimothy Arceri <timothy.arceri@collabora.com>
Wed, 5 Oct 2016 04:13:23 +0000 (15:13 +1100)
committerTimothy Arceri <timothy.arceri@collabora.com>
Thu, 6 Oct 2016 05:03:40 +0000 (16:03 +1100)
This is a step towards dropping the GLSL IR version of
do_set_program_inouts() in i965 and moving towards native nir support.

This is important because we want to eventually convert to nir and
use its optimisations passes before we can call this GLSL IR pass.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_wm.c

index b0167d2..aac0469 100644 (file)
@@ -448,8 +448,10 @@ brw_wm_populate_key(struct brw_context *brw, struct brw_wm_prog_key *key)
     */
    if (brw->gen < 6) {
       /* _NEW_COLOR */
-      if (fp->program.UsesKill || ctx->Color.AlphaEnabled)
+      if (fp->program.Base.nir->info.fs.uses_discard ||
+          ctx->Color.AlphaEnabled) {
         lookup |= IZ_PS_KILL_ALPHATEST_BIT;
+      }
 
       if (fp->program.Base.OutputsWritten & BITFIELD64_BIT(FRAG_RESULT_DEPTH))
         lookup |= IZ_PS_COMPUTES_DEPTH_BIT;
@@ -601,7 +603,7 @@ brw_fs_precompile(struct gl_context *ctx,
    memset(&key, 0, sizeof(key));
 
    if (brw->gen < 6) {
-      if (fp->UsesKill)
+      if (fp->Base.nir->info.fs.uses_discard)
          key.iz_lookup |= IZ_PS_KILL_ALPHATEST_BIT;
 
       if (fp->Base.OutputsWritten & BITFIELD64_BIT(FRAG_RESULT_DEPTH))