From 4c32042db771b0044dcad3dfb60edb7aba82248e Mon Sep 17 00:00:00 2001 From: Jonathan Marek Date: Wed, 2 Dec 2020 23:32:13 -0500 Subject: [PATCH] turnip: always emit LRZ draw state in DIRTY_DRAW_STATE path The packet size is constant and assumes all states, except for the 2 input attachment states. (this means we get an invalid packet if DIRTY_LRZ isn't set when DIRTY_DRAW_STATE is set). Fixes: 3c07a1499863 ("turnip: enable LRZ") Signed-off-by: Jonathan Marek Part-of: (cherry picked from commit af6e74bca86823be63907ec91549ff9f8e88f6fb) --- .pick_status.json | 2 +- src/freedreno/vulkan/tu_cmd_buffer.c | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 351332b524d..f339133706a 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -778,7 +778,7 @@ "description": "turnip: always emit LRZ draw state in DIRTY_DRAW_STATE path", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "3c07a149986381847a8431db0491286c1fc10897" }, diff --git a/src/freedreno/vulkan/tu_cmd_buffer.c b/src/freedreno/vulkan/tu_cmd_buffer.c index dfcaca99f42..9ab2c2f6360 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.c +++ b/src/freedreno/vulkan/tu_cmd_buffer.c @@ -3340,8 +3340,7 @@ tu6_draw_common(struct tu_cmd_buffer *cmd, tu_cs_emit_draw_state(cs, TU_DRAW_STATE_DESC_SETS_LOAD, pipeline->load_state); tu_cs_emit_draw_state(cs, TU_DRAW_STATE_VB, cmd->state.vertex_buffers); tu_cs_emit_draw_state(cs, TU_DRAW_STATE_VS_PARAMS, cmd->state.vs_params); - if (cmd->state.dirty & TU_CMD_DIRTY_LRZ) - tu_cs_emit_draw_state(cs, TU_DRAW_STATE_LRZ, cmd->state.lrz.state); + tu_cs_emit_draw_state(cs, TU_DRAW_STATE_LRZ, cmd->state.lrz.state); for (uint32_t i = 0; i < ARRAY_SIZE(cmd->state.dynamic_state); i++) { tu_cs_emit_draw_state(cs, TU_DRAW_STATE_DYNAMIC + i,