Mesa (master): anv: ignore VkSamplerYcbcrConversion on non-yuv formats
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Dec 19 08:39:57 UTC 2018
Module: Mesa
Branch: master
Commit: 3dc424a4f4a7d3dd91cd925359ead9efa9fd28ba
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3dc424a4f4a7d3dd91cd925359ead9efa9fd28ba
Author: Tapani Pälli <tapani.palli at intel.com>
Date: Thu Sep 27 11:02:59 2018 +0300
anv: ignore VkSamplerYcbcrConversion on non-yuv formats
This fulfills a requirement for clients that want to utilize same
code path for images with external formats (VK_FORMAT_UNDEFINED) and
"regular" RGBA images where format is known. This is similar to how
OES_EGL_image_external works.
To support this, we allow color conversion samplers for non-YUV
formats but skip setting up conversion when format does not have
can_ycbcr flag set.
v2: add comment and bundle can_ycbcr to the existing break
condition (Lionel)
Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
---
src/intel/vulkan/genX_state.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/intel/vulkan/genX_state.c b/src/intel/vulkan/genX_state.c
index 0f6b77492f..cffd1e4724 100644
--- a/src/intel/vulkan/genX_state.c
+++ b/src/intel/vulkan/genX_state.c
@@ -332,7 +332,12 @@ VkResult genX(CreateSampler)(
ANV_FROM_HANDLE(anv_ycbcr_conversion, conversion,
pSamplerConversion->conversion);
- if (conversion == NULL)
+ /* Ignore conversion for non-YUV formats. This fulfills a requirement
+ * for clients that want to utilize same code path for images with
+ * external formats (VK_FORMAT_UNDEFINED) and "regular" RGBA images
+ * where format is known.
+ */
+ if (conversion == NULL || !conversion->format->can_ycbcr)
break;
sampler->n_planes = conversion->format->n_planes;
More information about the mesa-commit
mailing list