Mesa (master): radv: don't use hw resolve for integer image formats

Dave Airlie airlied at kemper.freedesktop.org
Tue Jan 23 22:55:46 UTC 2018


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

Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Jan 23 14:57:12 2018 +1000

radv: don't use hw resolve for integer image formats

>From reading AMDVLK it currently never uses hw resolve paths.

This patch takes from radeonsi which doesn't use hw resolve
for integer formats, and does the same for radv.

This fixes:
dEQP-VK.renderpass.suballocation.multisample*uint tests.

Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Fixes: 2a04f5481d (radv/meta: select resolve paths)
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/amd/vulkan/radv_meta_resolve.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/amd/vulkan/radv_meta_resolve.c b/src/amd/vulkan/radv_meta_resolve.c
index 855bf98203..bf33dfdfab 100644
--- a/src/amd/vulkan/radv_meta_resolve.c
+++ b/src/amd/vulkan/radv_meta_resolve.c
@@ -26,6 +26,7 @@
 
 #include "radv_meta.h"
 #include "radv_private.h"
+#include "vk_format.h"
 #include "nir/nir_builder.h"
 #include "sid.h"
 
@@ -351,6 +352,10 @@ static void radv_pick_resolve_method_images(struct radv_image *src_image,
 	uint32_t queue_mask = radv_image_queue_family_mask(dest_image,
 	                                                   cmd_buffer->queue_family_index,
 	                                                   cmd_buffer->queue_family_index);
+
+	if (vk_format_is_int(src_image->vk_format))
+		*method = RESOLVE_COMPUTE;
+	
 	if (radv_layout_dcc_compressed(dest_image, dest_image_layout, queue_mask)) {
 		*method = RESOLVE_FRAGMENT;
 	} else if (dest_image->surface.micro_tile_mode != src_image->surface.micro_tile_mode) {




More information about the mesa-commit mailing list