Module: Mesa
Branch: main
Commit: 976297b73aaa03a6f046561285f23ffea6026159
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=976297b73aaa03a6f046561285f23ffea6026159

Author: Samuel Pitoiset <[email protected]>
Date:   Thu Aug  3 15:09:47 2023 +0200

radv: re-emit binning state if the framebuffer is dirty

This used to depend on the graphics pipeline, but now that everything
is dynamic it should be fine to trigger it on fb changes.

Signed-off-by: Samuel Pitoiset <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24473>

---

 src/amd/vulkan/radv_cmd_buffer.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index b5a27b08ee1..9096c060104 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -8926,10 +8926,9 @@ radv_emit_all_graphics_states(struct radv_cmd_buffer 
*cmd_buffer, const struct r
        cmd_buffer->state.has_nggc)
       radv_emit_ngg_culling_state(cmd_buffer);
 
-   if ((cmd_buffer->state.dirty &
-        (RADV_CMD_DIRTY_DYNAMIC_COLOR_WRITE_MASK | 
RADV_CMD_DIRTY_DYNAMIC_RASTERIZATION_SAMPLES |
-         RADV_CMD_DIRTY_DYNAMIC_LINE_RASTERIZATION_MODE)) ||
-       cmd_buffer->state.emitted_graphics_pipeline != 
cmd_buffer->state.graphics_pipeline)
+   if (cmd_buffer->state.dirty &
+       (RADV_CMD_DIRTY_FRAMEBUFFER | RADV_CMD_DIRTY_DYNAMIC_COLOR_WRITE_MASK |
+        RADV_CMD_DIRTY_DYNAMIC_RASTERIZATION_SAMPLES | 
RADV_CMD_DIRTY_DYNAMIC_LINE_RASTERIZATION_MODE))
       radv_emit_binning_state(cmd_buffer);
 
    if (cmd_buffer->state.dirty & RADV_CMD_DIRTY_PIPELINE)

Reply via email to