This seems to be broken at the moment for opengl interop. Which is
used by steamvr opengl applications.

---

Not sure if we want to merge this or not. It fixes steamvr opengl applications
on vega, but the proper solution is probably in some metadata bug.

Mailing it out mostly as an awareness notification in case anyone else runs
into this issue. Or in case we decided to use this as a temporary workaround.

 src/amd/vulkan/radv_image.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
index ad480901eed..cc89ea6b290 100644
--- a/src/amd/vulkan/radv_image.c
+++ b/src/amd/vulkan/radv_image.c
@@ -110,11 +110,18 @@ radv_use_dcc_for_image(struct radv_device *device,
 {
        bool dcc_compatible_formats;
        bool blendable;
+       bool shareable = vk_find_struct_const(pCreateInfo->pNext,
+                                             
EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR) != NULL;
 
        /* DCC (Delta Color Compression) is only available for GFX8+. */
        if (device->physical_device->rad_info.chip_class < VI)
                return false;
 
+       /* FIXME: DCC is broken for shareable images starting with GFX9 */
+       if (device->physical_device->rad_info.chip_class >= GFX9 &&
+           shareable)
+               return false;
+
        if (device->instance->debug_flags & RADV_DEBUG_NO_DCC)
                return false;
 
-- 
2.14.1

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

Reply via email to