vtdec/vulkan: use Shared storage mode for IOSurface textures
authorMatthew Waters <matthew@centricular.com>
Wed, 23 Sep 2020 10:08:46 +0000 (20:08 +1000)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 23 Sep 2020 23:21:50 +0000 (23:21 +0000)
Fixes a debug assertion with i(Pad)OS 14:

'IOSurface textures must use MTLStorageModeShared'

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1592>

sys/applemedia/videotexturecache-vulkan.mm

index 2c735dd..ac0c1e7 100644 (file)
@@ -251,7 +251,7 @@ gst_new_mtl_tex_descripter_from_memory (GstIOSurfaceVulkanMemory * memory)
   tex_desc.sampleCount = mvkSampleCountFromVkSampleCountFlagBits(vk_mem->create_info.samples);
   tex_desc.arrayLength = vk_mem->create_info.arrayLayers;
   tex_desc.usage = MTLTextureUsageShaderRead | MTLTextureUsagePixelFormatView;//mvkMTLTextureUsageFromVkImageUsageFlags(vk_mem->create_info.usage);
-  tex_desc.storageMode = MTLStorageModePrivate;//MTLStorageModeManaged; /* IOSurface == shared/managed */
+  tex_desc.storageMode = MTLStorageModeShared;
   tex_desc.cpuCacheMode = MTLCPUCacheModeDefaultCache;//mvkMTLCPUCacheModeFromVkMemoryPropertyFlags(vk_mem->vk_mem->properties);
 
   return tex_desc;