Mesa (main): radv: Add helper to write scissors.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Jul 15 15:07:18 UTC 2022
Module: Mesa
Branch: main
Commit: df69b34450c7de63c68ac92adb68efd62486a04c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=df69b34450c7de63c68ac92adb68efd62486a04c
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date: Wed Jul 13 14:06:02 2022 +0200
radv: Add helper to write scissors.
For use by DGC shader.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269>
---
src/amd/vulkan/radv_cmd_buffer.c | 12 +++++++++---
src/amd/vulkan/radv_private.h | 1 +
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index 0b1d2d2025b..29cc79aae0e 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -1462,8 +1462,8 @@ radv_emit_viewport(struct radv_cmd_buffer *cmd_buffer)
}
}
-static void
-radv_emit_scissor(struct radv_cmd_buffer *cmd_buffer)
+void
+radv_write_scissors(struct radv_cmd_buffer *cmd_buffer, struct radeon_cmdbuf *cs)
{
struct radv_graphics_pipeline *pipeline = cmd_buffer->state.graphics_pipeline;
uint32_t count = cmd_buffer->state.dynamic.scissor.count;
@@ -1480,9 +1480,15 @@ radv_emit_scissor(struct radv_cmd_buffer *cmd_buffer)
rast_prim = si_conv_prim_to_gs_out(cmd_buffer->state.dynamic.primitive_topology);
}
- si_write_scissors(cmd_buffer->cs, 0, count, cmd_buffer->state.dynamic.scissor.scissors,
+ si_write_scissors(cs, 0, count, cmd_buffer->state.dynamic.scissor.scissors,
cmd_buffer->state.dynamic.viewport.viewports, rast_prim,
cmd_buffer->state.dynamic.line_width);
+}
+
+static void
+radv_emit_scissor(struct radv_cmd_buffer *cmd_buffer)
+{
+ radv_write_scissors(cmd_buffer, cmd_buffer->cs);
cmd_buffer->state.context_roll_without_scissor_emitted = false;
}
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
index 4aa412f77e1..a9f98fbef8d 100644
--- a/src/amd/vulkan/radv_private.h
+++ b/src/amd/vulkan/radv_private.h
@@ -1698,6 +1698,7 @@ bool radv_cmd_buffer_upload_data(struct radv_cmd_buffer *cmd_buffer, unsigned si
void radv_write_vertex_descriptors(const struct radv_cmd_buffer *cmd_buffer,
const struct radv_graphics_pipeline *pipeline,
bool full_null_descriptors, void *vb_ptr);
+void radv_write_scissors(struct radv_cmd_buffer *cmd_buffer, struct radeon_cmdbuf *cs);
void radv_cmd_buffer_clear_subpass(struct radv_cmd_buffer *cmd_buffer);
void radv_cmd_buffer_resolve_subpass(struct radv_cmd_buffer *cmd_buffer);
More information about the mesa-commit
mailing list