Mesa (master): i965: Always set depth/stencil write enables on gen7+
Jason Ekstrand
jekstrand at kemper.freedesktop.org
Tue May 8 16:07:30 UTC 2018
Module: Mesa
Branch: master
Commit: 514bb6f41ec139baeaf56b57d7bc1034fb114234
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=514bb6f41ec139baeaf56b57d7bc1034fb114234
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Mon May 7 10:57:49 2018 -0700
i965: Always set depth/stencil write enables on gen7+
The hardware will AND these fields with the corresponding fields in
DEPTH_STENCIL_STATE so there's no real reason to toggle them on and off
based on state bits. This removes our reliance on the _NEW_DEPTH and
_NEW_STENCIL state bits and better matches what ISL does.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/drivers/dri/i965/gen7_misc_state.c | 8 +++-----
src/mesa/drivers/dri/i965/gen8_depth_state.c | 9 +++------
2 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/gen7_misc_state.c b/src/mesa/drivers/dri/i965/gen7_misc_state.c
index e3a355fae3..42ab271e6a 100644
--- a/src/mesa/drivers/dri/i965/gen7_misc_state.c
+++ b/src/mesa/drivers/dri/i965/gen7_misc_state.c
@@ -109,8 +109,8 @@ gen7_emit_depth_stencil_hiz(struct brw_context *brw,
OUT_BATCH((depth_mt ? depth_mt->surf.row_pitch - 1 : 0) |
(depthbuffer_format << 18) |
((hiz ? 1 : 0) << 22) |
- ((stencil_mt != NULL && brw->stencil_write_enabled) << 27) |
- (brw_depth_writes_enabled(brw) << 28) |
+ ((stencil_mt != NULL) << 27) | /* Stencil Write Enable */
+ ((depth_mt != NULL) << 28) | /* Depth Write Enable */
(surftype << 29));
/* 3DSTATE_DEPTH_BUFFER dw2 */
@@ -192,9 +192,7 @@ gen7_emit_depth_stencil_hiz(struct brw_context *brw,
*/
const struct brw_tracked_state gen7_depthbuffer = {
.dirty = {
- .mesa = _NEW_BUFFERS |
- _NEW_DEPTH |
- _NEW_STENCIL,
+ .mesa = _NEW_BUFFERS,
.brw = BRW_NEW_AUX_STATE |
BRW_NEW_BATCH |
BRW_NEW_BLORP,
diff --git a/src/mesa/drivers/dri/i965/gen8_depth_state.c b/src/mesa/drivers/dri/i965/gen8_depth_state.c
index 1c77218d2b..a00e22a686 100644
--- a/src/mesa/drivers/dri/i965/gen8_depth_state.c
+++ b/src/mesa/drivers/dri/i965/gen8_depth_state.c
@@ -39,9 +39,7 @@ emit_depth_packets(struct brw_context *brw,
struct intel_mipmap_tree *depth_mt,
uint32_t depthbuffer_format,
uint32_t depth_surface_type,
- bool depth_writable,
struct intel_mipmap_tree *stencil_mt,
- bool stencil_writable,
bool hiz,
uint32_t width,
uint32_t height,
@@ -64,8 +62,8 @@ emit_depth_packets(struct brw_context *brw,
BEGIN_BATCH(8);
OUT_BATCH(GEN7_3DSTATE_DEPTH_BUFFER << 16 | (8 - 2));
OUT_BATCH(depth_surface_type << 29 |
- (depth_writable ? (1 << 28) : 0) |
- (stencil_mt != NULL && stencil_writable) << 27 |
+ (depth_mt != NULL) << 28 | /* Depth Write Enable */
+ (stencil_mt != NULL) << 27 | /* Stencil Write Enable */
(hiz ? 1 : 0) << 22 |
depthbuffer_format << 18 |
(depth_mt ? depth_mt->surf.row_pitch - 1 : 0));
@@ -204,8 +202,7 @@ gen8_emit_depth_stencil_hiz(struct brw_context *brw,
}
emit_depth_packets(brw, depth_mt, brw_depthbuffer_format(brw), surftype,
- brw_depth_writes_enabled(brw),
- stencil_mt, brw->stencil_write_enabled,
+ stencil_mt,
hiz, width, height, depth, lod, min_array_element);
}
More information about the mesa-commit
mailing list