Mesa (master): i965/blorp: remove dependency to compression control state

Topi Pohjolainen tpohjola at kemper.freedesktop.org
Mon Jan 20 08:57:43 UTC 2014


Module: Mesa
Branch: master
Commit: d0f63b37577636bf154a303d9aae69f644f6c3ef
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0f63b37577636bf154a303d9aae69f644f6c3ef

Author: Topi Pohjolainen <topi.pohjolainen at intel.com>
Date:   Thu Dec 12 18:32:10 2013 +0200

i965/blorp: remove dependency to compression control state

Effectively only the mask control bit gets altered for the single
addition in question and hence there is no real need to use a
fresh state control level for it -- that is more useful when
multiple intructions share the same mask and compression settings.

This is a preparation step for removing the explicit compression
control modifiers in the blit compiler. After this patch there
are no nested state control levels making the constant nature of
the compression settings more apparent.

No regressions on IVB (piglit quick + unit tests).

v2 (Matt, Ian): use temporary variable instead of assigning
                directly on the same line with a function call.

Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/mesa/drivers/dri/i965/brw_blorp_blit.cpp |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
index 112a307..820a8fa 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
+++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
@@ -1407,10 +1407,9 @@ brw_blorp_blit_program::kill_if_outside_dst_rect()
    brw_CMP(&func, null32, BRW_CONDITIONAL_L, Y, dst_y1);
 
    brw_set_predicate_control(&func, BRW_PREDICATE_NONE);
-   brw_push_insn_state(&func);
-   brw_set_mask_control(&func, BRW_MASK_DISABLE);
-   brw_AND(&func, g1, f0, g1);
-   brw_pop_insn_state(&func);
+
+   struct brw_instruction *inst = brw_AND(&func, g1, f0, g1);
+   inst->header.mask_control = BRW_MASK_DISABLE;
 }
 
 /**




More information about the mesa-commit mailing list