anv/cmd_buffer: Look at both sides for stencil enable
Now it's all consistent with gen9
This commit is contained in:
@@ -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)];
|
uint32_t depth_stencil_dw[GENX(DEPTH_STENCIL_STATE_length)];
|
||||||
struct anv_dynamic_state *d = &cmd_buffer->state.dynamic;
|
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 = {
|
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,
|
.StencilTestMask = d->stencil_compare_mask.front & 0xff,
|
||||||
.StencilWriteMask = d->stencil_write_mask.front & 0xff,
|
.StencilWriteMask = d->stencil_write_mask.front & 0xff,
|
||||||
|
@@ -388,8 +388,8 @@ genX(cmd_buffer_flush_state)(struct anv_cmd_buffer *cmd_buffer)
|
|||||||
struct GENX(3DSTATE_WM_DEPTH_STENCIL wm_depth_stencil) = {
|
struct GENX(3DSTATE_WM_DEPTH_STENCIL wm_depth_stencil) = {
|
||||||
GENX(3DSTATE_WM_DEPTH_STENCIL_header),
|
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,
|
.StencilTestMask = d->stencil_compare_mask.front & 0xff,
|
||||||
.StencilWriteMask = d->stencil_write_mask.front & 0xff,
|
.StencilWriteMask = d->stencil_write_mask.front & 0xff,
|
||||||
|
Reference in New Issue
Block a user