diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index cf1bd263e7d..762c0612e09 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -1563,7 +1563,7 @@ radv_write_scissors(struct radv_cmd_buffer *cmd_buffer, struct radeon_cmdbuf *cs rast_prim = si_conv_prim_to_gs_out(cmd_buffer->state.dynamic.primitive_topology); } - si_write_scissors(cs, 0, count, cmd_buffer->state.dynamic.scissor.scissors, + si_write_scissors(cs, count, cmd_buffer->state.dynamic.scissor.scissors, cmd_buffer->state.dynamic.viewport.viewports, rast_prim, cmd_buffer->state.dynamic.line_width); } diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index e74cc097b88..037bfd2a852 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -1684,7 +1684,7 @@ void si_emit_compute(struct radv_device *device, struct radeon_cmdbuf *cs); void cik_create_gfx_config(struct radv_device *device); -void si_write_scissors(struct radeon_cmdbuf *cs, int first, int count, const VkRect2D *scissors, +void si_write_scissors(struct radeon_cmdbuf *cs, int count, const VkRect2D *scissors, const VkViewport *viewports, unsigned rast_prim, float line_width); uint32_t si_get_ia_multi_vgt_param(struct radv_cmd_buffer *cmd_buffer, bool instanced_draw, diff --git a/src/amd/vulkan/si_cmd_buffer.c b/src/amd/vulkan/si_cmd_buffer.c index fdc8ab5ddd6..1c7dd8f37f8 100644 --- a/src/amd/vulkan/si_cmd_buffer.c +++ b/src/amd/vulkan/si_cmd_buffer.c @@ -714,7 +714,7 @@ si_intersect_scissor(const VkRect2D *a, const VkRect2D *b) } void -si_write_scissors(struct radeon_cmdbuf *cs, int first, int count, const VkRect2D *scissors, +si_write_scissors(struct radeon_cmdbuf *cs, int count, const VkRect2D *scissors, const VkViewport *viewports, unsigned rast_prim, float line_width) { int i; @@ -724,7 +724,7 @@ si_write_scissors(struct radeon_cmdbuf *cs, int first, int count, const VkRect2D if (!count) return; - radeon_set_context_reg_seq(cs, R_028250_PA_SC_VPORT_SCISSOR_0_TL + first * 4 * 2, count * 2); + radeon_set_context_reg_seq(cs, R_028250_PA_SC_VPORT_SCISSOR_0_TL, count * 2); for (i = 0; i < count; i++) { VkRect2D viewport_scissor = si_scissor_from_viewport(viewports + i); VkRect2D scissor = si_intersect_scissor(&scissors[i], &viewport_scissor);