Not signed in
Copyright © 2026 Unity Technologies
Steps to reproduce:
1. Open the attached user's project "vulkanmrtcrash.zip"
2. Open the SampleScene
3. Switch to the Android platform
4. Make sure Vulkan is set as the Graphics API in the Player Settings
5. Build to an Android device
6. Observe the app crashes
Expected results: The application does not crash
Actual Results: URP and Built-in both crash when using MTR with Vulkan on some devices
Reproducible on: 2021.3.19f1
Not reproducible on: 2020.3.46f1, 2022.2.11f1, 2023.1.0b8, 2023.2.0a5
Reproducible on these devices:
N/A, Xiaomi Mi Note2 (Mi Note 2), Android 8.0.0, CPU: Snapdragon 820 MSM8996, GPU: Adreno (TM) 530
Customer devices:
MEIZU 16th (Qualcomm Snapdragon 845, Android 8.1)
Samsung Note 8 (Qualcomm Snapdragon 835)
Not reproducible on these devices:
N/A, Samsung Galaxy S9 (SM-G960F), Android 8.0.0, CPU: Exynos 9 Series 9810, GPU: Mali-G72
N/A, Xiaomi - (Redmi Note 8 Pro), Android 9, CPU: MediaTek Helios G90T MT6785T, GPU: Mali-G76 MC4
N/A, Samsung - (SM-G991U), Android 12, CPU: Snapdragon 888, GPU: Adreno (TM) 660
N/A, Samsung Galaxy Z Flip3 5G (SM-F711B), Android 11, CPU: Snapdragon 888, GPU: Adreno (TM) 660
N/A, Xiaomi MI 9 (MI 9), Android 10, CPU: Snapdragon 855 SM8150, GPU: Adreno (TM) 640
N/A, Samsung Galaxy S6 edge+ (SM-G928F), Android 7.0, CPU: Exynos 7 Octa 7420, GPU: Mali-T760
N/A, Google Pixel 3 (Pixel 3), Android 12, CPU: Snapdragon 845, GPU: Adreno (TM) 630
Environment: Windows 10 22H2
Notes:
-Issue does not reproduce with OpenGLES 3
-Logcat stack trace (Full Android logcat is attached "VulkanLogcat.txt"):
at vulkan.qglinternal::vkCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**)(vkCreateGraphicsPipelines:3412)
at libunity.VKGpuProgram::GetCachedPipeline(vk::PipelineKey const&, vk::PipelineStateData const&, vk::DeviceLocalPipelineCacheState&, vk::RenderPasses&)(GetCachedPipeline:1064)
at libunity.vk::DeviceState::Transition(vk::CommandBuffer*, vk::DeviceState const&, vk::DeviceLocalPipelineCacheState&, vk::RenderPasses&)(Transition:56)
at libunity.GfxDeviceVKBase::DrawBuffersInternal(VkBuffer_T*, unsigned long, unsigned int, VkBuffer_T* const*, unsigned int const*, unsigned long const*, int, DrawBuffersRange const*, int, VertexDeclaration*, unsigned int, int)(DrawBuffersInternal:280)
at libunity.GfxDeviceVKBase::DrawBufferRangesPlatform(GfxBuffer*, unsigned int, GfxBuffer* const*, unsigned int const*, int, DrawBuffersRange const*, int, VertexDeclaration*, unsigned long, int)(DrawBufferRangesPlatform:788)
at libunity.SinglePassStereoSupportExt::DrawBuffersStereo(GfxBuffer*, unsigned int, GfxBuffer* const*, unsigned int const*, int, DrawBuffersRange const*, int, VertexDeclaration*, unsigned long)(DrawBuffersStereo:168)
at libunity.GfxDeviceVKBase::DrawBuffers(GfxBuffer*, unsigned int, GfxBuffer* const*, unsigned int const*, int, DrawBuffersRange const*, int, VertexDeclaration*)(DrawBuffers:40)
at libunity.GfxDeviceWorker::RunCommand(ThreadedStreamBuffer&)(RunCommand:31156)
at libunity.GfxDeviceWorker::RunExt(ThreadedStreamBuffer&)(RunExt:44)
at libunity.GfxDeviceWorker::Run()(Run:140)
at libunity.GfxDeviceWorker::RunGfxDeviceWorker(void*)(RunGfxDeviceWorker:4)
at libunity.Thread::RunThreadWrapper(void*)(RunThreadWrapper:796)
at libc._pthread_start(void*)(_pthread_start:36)
at libc._start_thread(_start_thread:68)
Sign in to see your voted issues