Mesa (17.1): radv: don' t advertise transfer props unless we can do anything else

Emil Velikov evelikov at kemper.freedesktop.org
Wed May 10 14:19:18 UTC 2017


Module: Mesa
Branch: 17.1
Commit: 43678114c7bd024e7aa4c4a7ea5b05088895a499
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=43678114c7bd024e7aa4c4a7ea5b05088895a499

Author: Dave Airlie <airlied at redhat.com>
Date:   Thu May  4 10:51:49 2017 +1000

radv: don't advertise transfer props unless we can do anything else

There is no reason to advertise transfer ability for formats we can't
use for anything else. This stops some CTS tests hitting internal
error for 64-bit types when they see the transfer flags.

Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied at redhat.com>
(cherry picked from commit efa19f5a542709cab7c6aa7f03af959f4394962f)

---

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

diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c
index 07942e4217..61cc673984 100644
--- a/src/amd/vulkan/radv_formats.c
+++ b/src/amd/vulkan/radv_formats.c
@@ -597,13 +597,13 @@ radv_physical_device_get_format_properties(struct radv_physical_device *physical
 				tiled |= VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT;
 			}
 		}
-		if (util_is_power_of_two(vk_format_get_blocksize(format)) && !scaled) {
+		if (tiled && util_is_power_of_two(vk_format_get_blocksize(format)) && !scaled) {
 			tiled |= VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR |
 			         VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR;
 		}
 	}
 
-	if (util_is_power_of_two(vk_format_get_blocksize(format)) && !scaled) {
+	if (linear && util_is_power_of_two(vk_format_get_blocksize(format)) && !scaled) {
 		linear |= VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR |
 		          VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR;
 	}




More information about the mesa-commit mailing list