[Mesa-dev] [PATCH 2/8] i965: get uses discard from nir info

Timothy Arceri timothy.arceri at collabora.com
Wed Oct 5 06:32:28 UTC 2016


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.
---
 src/mesa/drivers/dri/i965/brw_wm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c
index a70e806..29dd21e 100644
--- a/src/mesa/drivers/dri/i965/brw_wm.c
+++ b/src/mesa/drivers/dri/i965/brw_wm.c
@@ -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))
-- 
2.7.4



More information about the mesa-dev mailing list