Mesa (master): radv: Fix fragment resolve destination offset.

Bas Nieuwenhuizen bnieuwenhuizen at kemper.freedesktop.org
Wed Dec 27 23:32:50 UTC 2017


Module: Mesa
Branch: master
Commit: 73279da41dae991afc5d4e4dbe51542060e21c59
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=73279da41dae991afc5d4e4dbe51542060e21c59

Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Tue Dec 26 16:11:35 2017 +0100

radv: Fix fragment resolve destination offset.

The position start at (dst.x, dst.y), so if we want the source to
start at (src.x, src.y), we have to offset by (src.x-dst.x,src.y-dst.y).

Haven't tested that this fixed anything yet, but found by inspection.

Fixes: 69136f4e633 "radv/meta: add resolve pass using fragment/vertex shaders"
Reviewed-by: Dave Airlie <airlied at redhat.com>

---

 src/amd/vulkan/radv_meta_resolve_fs.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/amd/vulkan/radv_meta_resolve_fs.c b/src/amd/vulkan/radv_meta_resolve_fs.c
index 756309efd2..b937c12ec1 100644
--- a/src/amd/vulkan/radv_meta_resolve_fs.c
+++ b/src/amd/vulkan/radv_meta_resolve_fs.c
@@ -407,8 +407,8 @@ emit_resolve(struct radv_cmd_buffer *cmd_buffer,
 	cmd_buffer->state.flush_bits |= RADV_CMD_FLAG_FLUSH_AND_INV_CB;
 
 	unsigned push_constants[2] = {
-		src_offset->x,
-		src_offset->y,
+		src_offset->x - dest_offset->x,
+		src_offset->y - dest_offset->y,
 	};
 	radv_CmdPushConstants(radv_cmd_buffer_to_handle(cmd_buffer),
 			      device->meta_state.resolve_fragment.p_layout,




More information about the mesa-commit mailing list