Mesa (master): radv: disallow 3D images and mipmaps/layers for R32G32B32 linear formats

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Oct 11 12:48:38 UTC 2018


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon Oct  8 14:40:17 2018 +0200

radv: disallow 3D images and mipmaps/layers for R32G32B32 linear formats

R32G32B32 are weird formats and we are only going to support
some basic operations for now.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

---

 src/amd/vulkan/radv_formats.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c
index ad06c9e996..a7aa819e2b 100644
--- a/src/amd/vulkan/radv_formats.c
+++ b/src/amd/vulkan/radv_formats.c
@@ -1091,6 +1091,20 @@ static VkResult radv_get_image_format_properties(struct radv_physical_device *ph
 		sampleCounts |= VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT;
 	}
 
+	if (info->tiling == VK_IMAGE_TILING_LINEAR &&
+	    (info->format == VK_FORMAT_R32G32B32_SFLOAT ||
+	     info->format == VK_FORMAT_R32G32B32_SINT ||
+	     info->format == VK_FORMAT_R32G32B32_UINT)) {
+		/* R32G32B32 is a weird format and the driver currently only
+		 * supports the barely minimum.
+		 * TODO: Implement more if we really need to.
+		 */
+		if (info->type == VK_IMAGE_TYPE_3D)
+			goto unsupported;
+		maxArraySize = 1;
+		maxMipLevels = 1;
+	}
+
 	if (info->usage & VK_IMAGE_USAGE_SAMPLED_BIT) {
 		if (!(format_feature_flags & VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT)) {
 			goto unsupported;




More information about the mesa-commit mailing list