From: Samuel Pitoiset Date: Mon, 22 May 2023 10:51:45 +0000 (+0200) Subject: radv: apply a bug workaround for smoothing on GFX6 X-Git-Tag: upstream/23.3.3~8275 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d719e99f16145b000a1560e2e434f4bc8e801b1a;p=platform%2Fupstream%2Fmesa.git radv: apply a bug workaround for smoothing on GFX6 This fixes smooth lines on GFX6. Fixes: 85cbdba3559 ("radv: add support for smooth lines") Signed-off-by: Samuel Pitoiset Part-of: --- diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 8d4ca13..d6cabfb 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -4557,6 +4557,12 @@ radv_emit_attachment_feedback_loop_enable(struct radv_cmd_buffer *cmd_buffer) z_order = V_02880C_LATE_Z; } + /* Bug workaround for smoothing (overrasterization) on GFX6. */ + if (cmd_buffer->device->physical_device->rad_info.gfx_level == GFX6 && + d->vk.rs.line.mode == VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT) { + z_order = V_02880C_LATE_Z; + } + db_shader_control |= S_02880C_Z_ORDER(z_order); radeon_set_context_reg(cmd_buffer->cs, R_02880C_DB_SHADER_CONTROL, db_shader_control); @@ -4689,7 +4695,8 @@ radv_cmd_buffer_flush_dynamic_state(struct radv_cmd_buffer *cmd_buffer, const ui RADV_CMD_DIRTY_DYNAMIC_LINE_RASTERIZATION_MODE)) radv_emit_msaa_state(cmd_buffer); - if (states & RADV_CMD_DIRTY_DYNAMIC_ATTACHMENT_FEEDBACK_LOOP_ENABLE) + if (states & (RADV_CMD_DIRTY_DYNAMIC_ATTACHMENT_FEEDBACK_LOOP_ENABLE | + RADV_CMD_DIRTY_DYNAMIC_LINE_RASTERIZATION_MODE)) radv_emit_attachment_feedback_loop_enable(cmd_buffer); cmd_buffer->state.dirty &= ~states;