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

Author: Dave Airlie <airl...@redhat.com>
Date:   Thu Mar  4 15:33:19 2021 +1000

lavapipe: add dummy sampler ycbcr conversion

This at least keeps the CTS tests happy.

Reviewed-By: Mike Blumenkrantz <michael.blumenkra...@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10098>

---

 src/gallium/frontends/lavapipe/lvp_device.c  | 22 ++++++++++++++++++++++
 src/gallium/frontends/lavapipe/lvp_formats.c |  6 ++++++
 2 files changed, 28 insertions(+)

diff --git a/src/gallium/frontends/lavapipe/lvp_device.c 
b/src/gallium/frontends/lavapipe/lvp_device.c
index a6e2c60852a..08b951281ff 100644
--- a/src/gallium/frontends/lavapipe/lvp_device.c
+++ b/src/gallium/frontends/lavapipe/lvp_device.c
@@ -574,6 +574,12 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceFeatures2(
          features->scalarBlockLayout = true;
          break;
       }
+      case 
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
+         VkPhysicalDeviceSamplerYcbcrConversionFeatures *features =
+            (VkPhysicalDeviceSamplerYcbcrConversionFeatures *) ext;
+         CORE_FEATURE(1, 1, samplerYcbcrConversion);
+         break;
+      }
       case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT: {
          VkPhysicalDeviceHostQueryResetFeaturesEXT *features =
             (VkPhysicalDeviceHostQueryResetFeaturesEXT *)ext;
@@ -1923,6 +1929,22 @@ VKAPI_ATTR void VKAPI_CALL lvp_DestroySampler(
    vk_free2(&device->vk.alloc, pAllocator, sampler);
 }
 
+VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateSamplerYcbcrConversionKHR(
+    VkDevice                                    device,
+    const VkSamplerYcbcrConversionCreateInfo*   pCreateInfo,
+    const VkAllocationCallbacks*                pAllocator,
+    VkSamplerYcbcrConversion*                   pYcbcrConversion)
+{
+   return VK_ERROR_OUT_OF_HOST_MEMORY;
+}
+
+VKAPI_ATTR void VKAPI_CALL lvp_DestroySamplerYcbcrConversionKHR(
+    VkDevice                                    device,
+    VkSamplerYcbcrConversion                    ycbcrConversion,
+    const VkAllocationCallbacks*                pAllocator)
+{
+}
+
 /* vk_icd.h does not declare this function, so we declare it here to
  * suppress Wmissing-prototypes.
  */
diff --git a/src/gallium/frontends/lavapipe/lvp_formats.c 
b/src/gallium/frontends/lavapipe/lvp_formats.c
index c2f205c9bda..30a38c20f3e 100644
--- a/src/gallium/frontends/lavapipe/lvp_formats.c
+++ b/src/gallium/frontends/lavapipe/lvp_formats.c
@@ -427,6 +427,7 @@ VKAPI_ATTR VkResult VKAPI_CALL 
lvp_GetPhysicalDeviceImageFormatProperties2(
    LVP_FROM_HANDLE(lvp_physical_device, physical_device, physicalDevice);
    const VkPhysicalDeviceExternalImageFormatInfo *external_info = NULL;
    VkExternalImageFormatProperties *external_props = NULL;
+   VkSamplerYcbcrConversionImageFormatProperties *ycbcr_props = NULL;
    VkResult result;
    result = lvp_get_image_format_properties(physical_device, base_info,
                                              
&base_props->imageFormatProperties);
@@ -449,6 +450,9 @@ VKAPI_ATTR VkResult VKAPI_CALL 
lvp_GetPhysicalDeviceImageFormatProperties2(
       case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
          external_props = (void *) s;
          break;
+      case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
+         ycbcr_props = (void *) s;
+         break;
       default:
          break;
       }
@@ -461,6 +465,8 @@ VKAPI_ATTR VkResult VKAPI_CALL 
lvp_GetPhysicalDeviceImageFormatProperties2(
          .compatibleHandleTypes = 0,
       };
    }
+   if (ycbcr_props)
+      ycbcr_props->combinedImageSamplerDescriptorCount = 0;
    return VK_SUCCESS;
 }
 

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to