anv/cmd_buffer: Look at both sides for stencil enable

Now it's all consistent with gen9
This commit is contained in:
Jason Ekstrand
2016-03-01 10:59:21 -08:00
parent 4cfdd16500
commit 6e20c1e058
2 changed files with 4 additions and 6 deletions

View File

@@ -586,11 +586,9 @@ genX(cmd_buffer_flush_state)(struct anv_cmd_buffer *cmd_buffer)
uint32_t depth_stencil_dw[GENX(DEPTH_STENCIL_STATE_length)];
struct anv_dynamic_state *d = &cmd_buffer->state.dynamic;
const struct anv_image_view *iview =
anv_cmd_buffer_get_depth_stencil_view(cmd_buffer);
struct GENX(DEPTH_STENCIL_STATE) depth_stencil = {
.StencilBufferWriteEnable = iview && (iview->aspect_mask & VK_IMAGE_ASPECT_STENCIL_BIT),
.StencilBufferWriteEnable = d->stencil_write_mask.front != 0 ||
d->stencil_write_mask.back != 0,
.StencilTestMask = d->stencil_compare_mask.front & 0xff,
.StencilWriteMask = d->stencil_write_mask.front & 0xff,

View File

@@ -388,8 +388,8 @@ genX(cmd_buffer_flush_state)(struct anv_cmd_buffer *cmd_buffer)
struct GENX(3DSTATE_WM_DEPTH_STENCIL wm_depth_stencil) = {
GENX(3DSTATE_WM_DEPTH_STENCIL_header),
/* Is this what we need to do? */
.StencilBufferWriteEnable = d->stencil_write_mask.front != 0,
.StencilBufferWriteEnable = d->stencil_write_mask.front != 0 ||
d->stencil_write_mask.back != 0,
.StencilTestMask = d->stencil_compare_mask.front & 0xff,
.StencilWriteMask = d->stencil_write_mask.front & 0xff,