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