Search Issue Tracker

Fixed

Fixed in 2021.3.28f1

Votes

5

Found in

2021.3.19f1

Issue ID

UUM-29409

Regression

No

[Android][Vulkan] URP and Built-in both crash when using MTR with Vulkan on some devices

--

-

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)

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.