summaryrefslogtreecommitdiffstats
path: root/src/amd/vulkan/radv_meta_resolve.c
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <[email protected]>2017-12-23 11:43:49 +0100
committerBas Nieuwenhuizen <[email protected]>2017-12-28 00:30:47 +0100
commita636208ace00e5ba7ddb331362b3e95fd4cea422 (patch)
tree731e158186e1c1705fdd3b73a19a85ed57513a00 /src/amd/vulkan/radv_meta_resolve.c
parentda192b50b246af80b87050ac75848dfac3c0afb0 (diff)
radv: Always use fragment resolve if dest uses DCC.
HW resolve does not support it either. Fixes: 2a04f5481df "radv/meta: select resolve paths" Reviewed-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_meta_resolve.c')
-rw-r--r--src/amd/vulkan/radv_meta_resolve.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/amd/vulkan/radv_meta_resolve.c b/src/amd/vulkan/radv_meta_resolve.c
index e73a950ab7c..26489b7834f 100644
--- a/src/amd/vulkan/radv_meta_resolve.c
+++ b/src/amd/vulkan/radv_meta_resolve.c
@@ -318,11 +318,10 @@ static void radv_pick_resolve_method_images(struct radv_image *src_image,
enum radv_resolve_method *method)
{
- if (dest_image->surface.micro_tile_mode != src_image->surface.micro_tile_mode) {
- if (dest_image->surface.num_dcc_levels > 0)
- *method = RESOLVE_FRAGMENT;
- else
- *method = RESOLVE_COMPUTE;
+ if (dest_image->surface.num_dcc_levels > 0) {
+ *method = RESOLVE_FRAGMENT;
+ } else if (dest_image->surface.micro_tile_mode != src_image->surface.micro_tile_mode) {
+ *method = RESOLVE_COMPUTE;
}
}