Android Editor ( Mali-G52): Editor crashes when inspecting a mesh's material in mobile renderer
Tested versions
- Reproducible in Godot v4.6.dev (55f88ccf6) , 4.6.dev3, 4.6.dev6
- Not reproducible in 4.6.dev1, Godot v4.6.dev (8ff841805)
System information
Godot v4.6.dev (55f88ccf6) - Android 11 (SDK 30 build V12.5.20.0.RKUMIXM) - Single-window, 1 monitor - Vulkan (Mobile) - integrated Mali-G52 - (8 threads)
Issue description
https://github.com/user-attachments/assets/101443ca-5fe7-4ac7-ae33-3b206e9c64b5
Steps to reproduce
- Add a
MeshInstance3D - Give it a Mesh and a StandardMaterial in material override.
- Try to expand the material options in inspector.
Minimal reproduction project (MRP)
N/A
Could you also test a few earlier versions, such as v4.5.1 and v4.4, to confirm if this is not a regression?
I think it's a regression. Not Reproducible in 4.6.dev1 Reproducible in 4.6.dev3
This issue probably needs the crash label
Reproducible in: Godot v4.6.dev (fb0711aba)
https://github.com/godotengine/godot/pull/110077 might be the cause
I don't see why #110077 would be related. We don't use glow in the material preview.
Can you upload a stack trace so we can see where the crash is coming from? I dont have a Mali G52 device to test with
Can you upload a stack trace
Sorry I don't know how to do that. Can I do that without a pc? I don't have a pc.
I'd like to add that it was not reproducible in Godot v4.6.dev (37ae2a70b). So I thought #110077 might be the cause
Can you upload a stack trace
Sorry I don't know how to do that. Can I do that without a pc? I don't have a pc.
I don't know.
@Alex2782 do you know if you can access crash logs without a PC?
@Alex2782 do you know if you can access crash logs without a PC?
I don't know of any other way. I've heard it might be possible if the devices are rooted. (This makes the devices unsafe, not recommended.)
Reproducible in Godot v4.6.dev (https://github.com/godotengine/godot/commit/55f88ccf6d4b0e860d648b358161944fd8000c72) , 4.6.dev3
Closed Test - Alpha, Release: v4.6-dev3 (40600103) was released on November 5th in the Google Play Store.
testing program: https://play.google.com/apps/testing/org.godotengine.editor.v4
@shahriarlabib000 Are you able to download Godot Editor 4.6-dev3 from the Google Play Store? Afterwards, reproduce the crash and let us know so we can try to identify the device. For this, we need more details (model/brand, etc.).
Approximately 300 people are currently participating in the testing program; there has only been one crash so far for version 4.6-dev3. Identifying your device should therefore not be a problem.
Galaxy Tab S9 - Qualcomm Adreno 740, Android 15 (could be a different issue)
crashlog
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 4313 >>> org.godotengine.editor.v4 <<<
backtrace:
#00 pc 0x0000000004bc5770 /data/app/~~ye4nJ9Zthvjtw7QxJ5rFHQ==/org.godotengine.editor.v4-tlb75cUtAKVJvz7V8Tpmmw==/split_config.arm64_v8a.apk!libgodot_android.so (RenderingDeviceDriverVulkan::command_queue_execute_and_present(RenderingDeviceDriver::CommandQueueID, VectorView<RenderingDeviceDriver::SemaphoreID>, VectorView<RenderingDeviceDriver::CommandBufferID>, VectorView<RenderingDeviceDriver::SemaphoreID>, RenderingDeviceDriver::FenceID, VectorView<RenderingDeviceDriver::SwapChainID>)+2913) (BuildId: 2dd109116737f0dd)
#01 pc 0x000000000761bbb4 /data/app/~~ye4nJ9Zthvjtw7QxJ5rFHQ==/org.godotengine.editor.v4-tlb75cUtAKVJvz7V8Tpmmw==/split_config.arm64_v8a.apk!libgodot_android.so (RenderingDevice::execute_chained_cmds(bool, RenderingDeviceDriver::FenceID, RenderingDeviceDriver::SemaphoreID)+6502) (BuildId: 2dd109116737f0dd)
#02 pc 0x0000000007619f48 /data/app/~~ye4nJ9Zthvjtw7QxJ5rFHQ==/org.godotengine.editor.v4-tlb75cUtAKVJvz7V8Tpmmw==/split_config.arm64_v8a.apk!libgodot_android.so (RenderingDevice::_execute_frame(bool)+6526) (BuildId: 2dd109116737f0dd)
#03 pc 0x0000000007619b6c /data/app/~~ye4nJ9Zthvjtw7QxJ5rFHQ==/org.godotengine.editor.v4-tlb75cUtAKVJvz7V8Tpmmw==/split_config.arm64_v8a.apk!libgodot_android.so (RenderingDevice::swap_buffers(bool)+6260) (BuildId: 2dd109116737f0dd)
#04 pc 0x00000000077c1e84 /data/app/~~ye4nJ9Zthvjtw7QxJ5rFHQ==/org.godotengine.editor.v4-tlb75cUtAKVJvz7V8Tpmmw==/split_config.arm64_v8a.apk!libgodot_android.so (RenderingServerDefault::_draw(bool, double)+97) (BuildId: 2dd109116737f0dd)
#05 pc 0x0000000003a3a154 /data/app/~~ye4nJ9Zthvjtw7QxJ5rFHQ==/org.godotengine.editor.v4-tlb75cUtAKVJvz7V8Tpmmw==/split_config.arm64_v8a.apk!libgodot_android.so (Main::iteration()+4795) (BuildId: 2dd109116737f0dd)
#06 pc 0x00000000039cf548 /data/app/~~ye4nJ9Zthvjtw7QxJ5rFHQ==/org.godotengine.editor.v4-tlb75cUtAKVJvz7V8Tpmmw==/split_config.arm64_v8a.apk!libgodot_android.so (OS_Android::main_loop_iterate(bool*)+365) (BuildId: 2dd109116737f0dd)
#07 pc 0x00000000039e6e1c /data/app/~~ye4nJ9Zthvjtw7QxJ5rFHQ==/org.godotengine.editor.v4-tlb75cUtAKVJvz7V8Tpmmw==/split_config.arm64_v8a.apk!libgodot_android.so (Java_org_godotengine_godot_GodotLib_step+320) (BuildId: 2dd109116737f0dd)
#08 pc 0x000000000009aba8 /system/framework/arm64/boot.oat (art_jni_trampoline+104)
#09 pc 0x0000000000780088 /apex/com.android.art/lib64/libart.so (nterp_helper+152)
#10 pc 0x000000000019ab48 /data/app/~~ye4nJ9Zthvjtw7QxJ5rFHQ==/org.godotengine.editor.v4-tlb75cUtAKVJvz7V8Tpmmw==/base.apk (org.godotengine.godot.vulkan.VkRenderer.onVkDrawFrame)
#11 pc 0x0000000000780f44 /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
#12 pc 0x000000000019b3d6 /data/app/~~ye4nJ9Zthvjtw7QxJ5rFHQ==/org.godotengine.editor.v4-tlb75cUtAKVJvz7V8Tpmmw==/base.apk (org.godotengine.godot.vulkan.VkThread.run+274)
#13 pc 0x0000000000368774 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612)
#14 pc 0x0000000000353f24 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+132)
#15 pc 0x0000000000947968 /apex/com.android.art/lib64/libart.so (art::detail::ShortyTraits<(char)86>::Type art::ArtMethod::InvokeInstance<(char)86>(art::Thread*, art::ObjPtr<art::mirror::Object>, art::detail::ShortyTraits<>::Type...)+60)
#16 pc 0x0000000000636878 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1344)
#17 pc 0x0000000000636328 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallbackWithUffdGc(void*)+8)
#18 pc 0x00000000000a6ff8 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+196)
#19 pc 0x000000000009949c /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)
Ok, downloaded and reproduced on the google play version. My device is: Redmi 10 2022 Model: 21121119SG
Radger Redmi 10 Prime - Android 11 (SDK 30) - Version: 40600103 (4.6.0.dev.3)
crashlog
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 15892 >>> org.godotengine.editor.v4 <<<
backtrace:
#00 pc 0x0000000004bc5770 /data/app/~~7dslfT1EFVwi2d8K0O32GA==/org.godotengine.editor.v4-4X9vyN7G72s4-tGoomWjyw==/split_config.arm64_v8a.apk!libgodot_android.so (RenderingDeviceDriverVulkan::command_queue_execute_and_present(RenderingDeviceDriver::CommandQueueID, VectorView<RenderingDeviceDriver::SemaphoreID>, VectorView<RenderingDeviceDriver::CommandBufferID>, VectorView<RenderingDeviceDriver::SemaphoreID>, RenderingDeviceDriver::FenceID, VectorView<RenderingDeviceDriver::SwapChainID>)+2913) (BuildId: 2dd109116737f0dd)
#01 pc 0x000000000761bbb4 /data/app/~~7dslfT1EFVwi2d8K0O32GA==/org.godotengine.editor.v4-4X9vyN7G72s4-tGoomWjyw==/split_config.arm64_v8a.apk!libgodot_android.so (RenderingDevice::execute_chained_cmds(bool, RenderingDeviceDriver::FenceID, RenderingDeviceDriver::SemaphoreID)+6502) (BuildId: 2dd109116737f0dd)
#02 pc 0x0000000007619f48 /data/app/~~7dslfT1EFVwi2d8K0O32GA==/org.godotengine.editor.v4-4X9vyN7G72s4-tGoomWjyw==/split_config.arm64_v8a.apk!libgodot_android.so (RenderingDevice::_execute_frame(bool)+6526) (BuildId: 2dd109116737f0dd)
#03 pc 0x000000000760cf74 /data/app/~~7dslfT1EFVwi2d8K0O32GA==/org.godotengine.editor.v4-4X9vyN7G72s4-tGoomWjyw==/split_config.arm64_v8a.apk!libgodot_android.so (RenderingDevice::screen_prepare_for_drawing(int)+6638) (BuildId: 2dd109116737f0dd)
#04 pc 0x00000000078d753c /data/app/~~7dslfT1EFVwi2d8K0O32GA==/org.godotengine.editor.v4-4X9vyN7G72s4-tGoomWjyw==/split_config.arm64_v8a.apk!libgodot_android.so (RendererCompositorRD::blit_render_targets_to_screen(int, BlitToScreen const*, int)+40) (BuildId: 2dd109116737f0dd)
#05 pc 0x00000000075c865c /data/app/~~7dslfT1EFVwi2d8K0O32GA==/org.godotengine.editor.v4-4X9vyN7G72s4-tGoomWjyw==/split_config.arm64_v8a.apk!libgodot_android.so (RendererViewport::draw_viewports(bool)+938) (BuildId: 2dd109116737f0dd)
#06 pc 0x00000000077c1e58 /data/app/~~7dslfT1EFVwi2d8K0O32GA==/org.godotengine.editor.v4-4X9vyN7G72s4-tGoomWjyw==/split_config.arm64_v8a.apk!libgodot_android.so (RenderingServerDefault::_draw(bool, double)+94) (BuildId: 2dd109116737f0dd)
#07 pc 0x0000000003a3a130 /data/app/~~7dslfT1EFVwi2d8K0O32GA==/org.godotengine.editor.v4-4X9vyN7G72s4-tGoomWjyw==/split_config.arm64_v8a.apk!libgodot_android.so (Main::iteration()+4791) (BuildId: 2dd109116737f0dd)
#08 pc 0x00000000039cf548 /data/app/~~7dslfT1EFVwi2d8K0O32GA==/org.godotengine.editor.v4-4X9vyN7G72s4-tGoomWjyw==/split_config.arm64_v8a.apk!libgodot_android.so (OS_Android::main_loop_iterate(bool*)+365) (BuildId: 2dd109116737f0dd)
#09 pc 0x00000000039e6e1c /data/app/~~7dslfT1EFVwi2d8K0O32GA==/org.godotengine.editor.v4-4X9vyN7G72s4-tGoomWjyw==/split_config.arm64_v8a.apk!libgodot_android.so (Java_org_godotengine_godot_GodotLib_step+320) (BuildId: 2dd109116737f0dd)
#10 pc 0x0000000000037c90 /data/app/~~7dslfT1EFVwi2d8K0O32GA==/org.godotengine.editor.v4-4X9vyN7G72s4-tGoomWjyw==/oat/arm64/base.odex (art_jni_trampoline+144)
#11 pc 0x000000000200adc0 /memfd:jit-cache (org.godotengine.godot.vulkan.VkRenderer.onVkDrawFrame+48)
#12 pc 0x0000000000133564 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548)
#13 pc 0x00000000001a97e8 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
#14 pc 0x000000000031d0e0 /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376)
#15 pc 0x00000000003132c8 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+912)
#16 pc 0x0000000000687a10 /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+848)
#17 pc 0x000000000012d814 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20)
#18 pc 0x000000000019b3d6 /data/app/~~7dslfT1EFVwi2d8K0O32GA==/org.godotengine.editor.v4-4X9vyN7G72s4-tGoomWjyw==/base.apk (org.godotengine.godot.vulkan.VkThread.run+274)
#19 pc 0x000000000030a570 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.10721020062547966384)+264)
#20 pc 0x0000000000676410 /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+776)
#21 pc 0x000000000013cff8 /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88)
#22 pc 0x0000000000133564 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548)
#23 pc 0x00000000001a97e8 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
#24 pc 0x000000000055e6d4 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+460)
#25 pc 0x00000000005ae554 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1308)
#26 pc 0x00000000000ec988 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
#27 pc 0x000000000008c190 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
The crash logs appear to be identical to those of the Galaxy Tab S9 - Qualcomm Adreno 740. https://github.com/godotengine/godot/issues/112530#issuecomment-3518794963
#00 RenderingDeviceDriverVulkan::command_queue_execute_and_present
#01 RenderingDevice::execute_chained_cmds
#02 RenderingDevice::_execute_frame
#03 RenderingDevice::screen_prepare_for_drawing
#04 RendererCompositorRD::blit_render_targets_to_screen
#05 RendererViewport::draw_viewports
#06 RenderingServerDefault::_draw
I couldn't reproduce it on my device (Samsung Tab S7, Adreno 6xx), master branch.
The preview is visible immediately, not as shown in the video.
@shahriarlabib000 Please also try this version; does it crash as well?
https://github.com/Alex2782/godot/releases/tag/android_editor.v4.6-dev4-2025-11-12
- 147 MB Download (arm64)
- Date: Tue Nov 11 16:07:57 2025 -0600`
Please also try this version; does it crash as well?
Yes, it is reproducible.
I was also able to reproduce it on my Chromebook with Mali-G52. As soon as I have more time, I'll try using bisecting_regressions.
EDIT:
If I save the project before the crash, the following error appears when loading the project.
I don't see why #110077 would be related. We don't use glow in the material preview.
Can you upload a stack trace so we can see where the crash is coming from? I dont have a Mali G52 device to test with
It seems this pull request is indeed responsible for this. However, with so many changes(+1512 / - 507), it will be difficult to pinpoint the exact location, and without the devices.
git bisect bad
2e59cb41f470b313b991d3e8dfd692c03a009164 is the first bad commit
commit 2e59cb41f470b313b991d3e8dfd692c03a009164 (HEAD)
Author: Clay John
Date: Mon Sep 1 14:43:37 2025 -0700
Optimize glow and tonemap gather step in the mobile renderer
22 files changed, 1512 insertions(+), 507 deletions(-)
bisect
-
good 4.6-dev2 -
bad 4.6-dev3
alex@MacM1 godot-github % git bisect start
status: waiting for both good and bad commits
alex@MacM1 godot-github % git bisect good 7864ac801
status: waiting for bad commit, 1 good commit known
alex@MacM1 godot-github % git bisect bad 9d84f3d13
Bisecting: 258 revisions left to test after this (roughly 8 steps)
[3f721d6c8ce630d60252fc847ef1123fa980ef13] Merge pull request #112019 from YeldhamDev/trim_it_just_a_little
alex@MacM1 godot-github % git bisect good
Bisecting: 129 revisions left to test after this (roughly 7 steps)
[e4c9950f622a3a750f13b21e8757165bc25ad352] Merge pull request #103742 from RoyBerardo/random-pitch-semitones
alex@MacM1 godot-github % git bisect good
Bisecting: 65 revisions left to test after this (roughly 6 steps)
[cd7b57e6c8ca58b8d187f5106d54f4604bf02f96] Merge pull request #112243 from Giganzo/resource-picker-buttons
alex@MacM1 godot-github % git bisect bad
Bisecting: 31 revisions left to test after this (roughly 5 steps)
[3c1e4792909fbaff63e2437f1c06029bd1aa507f] Merge pull request #110077 from clayjohn/mobile-glow
alex@MacM1 godot-github % git bisect bad
Bisecting: 15 revisions left to test after this (roughly 4 steps)
[fd672dbcfc30baaaac33c0328a7e28ad6f5f062a] Merge pull request #112227 from dsnopek/openxr-composition-layers-viewport-size-changed
alex@MacM1 godot-github % git bisect good
Bisecting: 7 revisions left to test after this (roughly 3 steps)
[72a1b5a2e5632ad352f7f7dffd748a38931d9143] Merge pull request #108607 from beicause/icon-parent-class-by-default
alex@MacM1 godot-github % git bisect good
Bisecting: 3 revisions left to test after this (roughly 2 steps)
[ae9732139a9ec9b1b6b231ea64ff4b3f66610e81] Merge pull request #109433 from KoBeWi/hastension
alex@MacM1 godot-github % git bisect good
Bisecting: 1 revision left to test after this (roughly 1 step)
[c2c7bf6b01906677a681f6042a36cd3e835ecfb6] Merge pull request #112220 from YeldhamDev/that_text_behavior_category_seemed_so_lonely
alex@MacM1 godot-github % git bisect good
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[2e59cb41f470b313b991d3e8dfd692c03a009164] Optimize glow and tonemap gather step in the mobile renderer
alex@MacM1 godot-github % git bisect bad
2e59cb41f470b313b991d3e8dfd692c03a009164 is the first bad commit
commit 2e59cb41f470b313b991d3e8dfd692c03a009164 (HEAD)
Author: Clay John
Date: Mon Sep 1 14:43:37 2025 -0700
Optimize glow and tonemap gather step in the mobile renderer
On my Chromebook I also see /vendor/lib64/hw/vulkan.cheets.so in the crash logs, typical for GPU driver problems.
logcat
11-19 00:16:41.700 2831 2831 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
11-19 00:16:41.700 2831 2831 F DEBUG : Build fingerprint: 'google/corsola/corsola_cheets:13/R142-16433.41.0/14390219:user/release-keys'
11-19 00:16:41.700 2831 2831 F DEBUG : Revision: '0'
11-19 00:16:41.700 2831 2831 F DEBUG : ABI: 'arm64'
11-19 00:16:41.700 2831 2831 F DEBUG : Timestamp: 2025-11-19 00:16:40.339480501+0100
11-19 00:16:41.700 2831 2831 F DEBUG : Process uptime: 53s
11-19 00:16:41.700 2831 2831 F DEBUG : Cmdline: org.godotengine.editor.v4.debug
11-19 00:16:41.700 2831 2831 F DEBUG : pid: 2744, tid: 2772, name: VkThread >>> org.godotengine.editor.v4.debug <<<
11-19 00:16:41.700 2831 2831 F DEBUG : uid: 10082
11-19 00:16:41.701 2831 2831 F DEBUG : tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
11-19 00:16:41.701 2831 2831 F DEBUG : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
11-19 00:16:41.701 2831 2831 F DEBUG : x0 0000000000000000 x1 0000000000000ad4 x2 0000000000000006 x3 0000007298d30a50
11-19 00:16:41.701 2831 2831 F DEBUG : x4 0000000000000010 x5 0000000000000010 x6 0000000000000010 x7 7f7f7f7f7f7f7f7f
11-19 00:16:41.701 2831 2831 F DEBUG : x8 00000000000000f0 x9 00000073b564ca70 x10 0000000000000001 x11 00000073b56c1040
11-19 00:16:41.701 2831 2831 F DEBUG : x12 0000007298d2f2e0 x13 000000000000001e x14 0000007298d305b0 x15 000000004cec4ec5
11-19 00:16:41.701 2831 2831 F DEBUG : x16 00000073b5731a48 x17 00000073b570a110 x18 0000007298974000 x19 00000000000000ac
11-19 00:16:41.701 2831 2831 F DEBUG : x20 00000000000000b2 x21 0000000000000ab8 x22 0000000000000ad4 x23 00000000ffffffff
11-19 00:16:41.701 2831 2831 F DEBUG : x24 0000000000000030 x25 0000000000376ce4 x26 0000007298d31038 x27 0000000000000001
11-19 00:16:41.701 2831 2831 F DEBUG : x28 0000000000000030 x29 0000007298d30ad0
11-19 00:16:41.701 2831 2831 F DEBUG : lr 00000073b56b1a14 sp 0000007298d30a30 pc 00000073b56b1a44 pst 0000000000001000
11-19 00:16:41.701 2831 2831 F DEBUG : backtrace:
11-19 00:16:41.701 2831 2831 F DEBUG : #00 pc 000000000008ca44 /apex/com.android.runtime/lib64/bionic/libc.so (abort+180) (BuildId: ea7c847a5b363db102820f97a134c93c)
11-19 00:16:41.701 2831 2831 F DEBUG : #01 pc 00000000000afa1c /vendor/lib64/hw/vulkan.cheets.so
11-19 00:16:41.701 2831 2831 F DEBUG : #02 pc 00000000000afc24 /vendor/lib64/hw/vulkan.cheets.so
11-19 00:16:41.701 2831 2831 F DEBUG : #03 pc 00000000000a4810 /vendor/lib64/hw/vulkan.cheets.so
11-19 00:16:41.701 2831 2831 F DEBUG : #04 pc 0000000004ba831c /data/app/~~BXHl9015s0A7jvf33z5KXA==/org.godotengine.editor.v4.debug-NXIZdEj7vuACn16WBdkdLA==/base.apk!libgodot_android.so (BuildId: ec8dd4931691bb31)
11-19 00:16:41.701 2831 2831 F DEBUG : #05 pc 00000000075fb9b4 /data/app/~~BXHl9015s0A7jvf33z5KXA==/org.godotengine.editor.v4.debug-NXIZdEj7vuACn16WBdkdLA==/base.apk!libgodot_android.so (BuildId: ec8dd4931691bb31)
11-19 00:16:41.701 2831 2831 F DEBUG : #06 pc 00000000075fab08 /data/app/~~BXHl9015s0A7jvf33z5KXA==/org.godotengine.editor.v4.debug-NXIZdEj7vuACn16WBdkdLA==/base.apk!libgodot_android.so (BuildId: ec8dd4931691bb31)
11-19 00:16:41.701 2831 2831 F DEBUG : #07 pc 0000000007698c58 /data/app/~~BXHl9015s0A7jvf33z5KXA==/org.godotengine.editor.v4.debug-NXIZdEj7vuACn16WBdkdLA==/base.apk!libgodot_android.so (BuildId: ec8dd4931691bb31)
11-19 00:16:41.701 2831 2831 F DEBUG : #08 pc 0000000003a18e68 /data/app/~~BXHl9015s0A7jvf33z5KXA==/org.godotengine.editor.v4.debug-NXIZdEj7vuACn16WBdkdLA==/base.apk!libgodot_android.so (BuildId: ec8dd4931691bb31)
11-19 00:16:41.701 2831 2831 F DEBUG : #09 pc 00000000039ae318 /data/app/~~BXHl9015s0A7jvf33z5KXA==/org.godotengine.editor.v4.debug-NXIZdEj7vuACn16WBdkdLA==/base.apk!libgodot_android.so (BuildId: ec8dd4931691bb31)
11-19 00:16:41.701 2831 2831 F DEBUG : #10 pc 00000000039c5bec /data/app/~~BXHl9015s0A7jvf33z5KXA==/org.godotengine.editor.v4.debug-NXIZdEj7vuACn16WBdkdLA==/base.apk!libgodot_android.so (Java_org_godotengine_godot_GodotLib_step+436) (BuildId: ec8dd4931691bb31)
11-19 00:16:41.701 2831 2831 F DEBUG : #11 pc 0000000000449554 /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+148) (BuildId: 44ee0868f426f44cfb44eaeba721c457)
11-19 00:16:41.701 2831 2831 F DEBUG : #12 pc 0000000000209398 /apex/com.android.art/lib64/libart.so (nterp_helper+152) (BuildId: 44ee0868f426f44cfb44eaeba721c457)
11-19 00:16:41.701 2831 2831 F DEBUG : #13 pc 0000000000aeaf30 /data/app/~~BXHl9015s0A7jvf33z5KXA==/org.godotengine.editor.v4.debug-NXIZdEj7vuACn16WBdkdLA==/oat/arm64/base.vdex (org.godotengine.godot.vulkan.VkRenderer.onVkDrawFrame+0)
11-19 00:16:41.701 2831 2831 F DEBUG : #14 pc 000000000020a254 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: 44ee0868f426f44cfb44eaeba721c457)
11-19 00:16:41.701 2831 2831 F DEBUG : #15 pc 0000000000aeb7be /data/app/~~BXHl9015s0A7jvf33z5KXA==/org.godotengine.editor.v4.debug-NXIZdEj7vuACn16WBdkdLA==/oat/arm64/base.vdex (org.godotengine.godot.vulkan.VkThread.run+274)
11-19 00:16:41.701 2831 2831 F DEBUG : #16 pc 000000000043fb6c /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+556) (BuildId: 44ee0868f426f44cfb44eaeba721c457)
11-19 00:16:41.701 2831 2831 F DEBUG : #17 pc 000000000046fedc /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+156) (BuildId: 44ee0868f426f44cfb44eaeba721c457)
11-19 00:16:41.701 2831 2831 F DEBUG : #18 pc 000000000046fbc4 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+388) (BuildId: 44ee0868f426f44cfb44eaeba721c457)
11-19 00:16:41.701 2831 2831 F DEBUG : #19 pc 0000000000627fe4 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1668) (BuildId: 44ee0868f426f44cfb44eaeba721c457)
11-19 00:16:41.701 2831 2831 F DEBUG : #20 pc 00000000000fb540 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208) (BuildId: ea7c847a5b363db102820f97a134c93c)
11-19 00:16:41.701 2831 2831 F DEBUG : #21 pc 000000000008e270 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: ea7c847a5b363db102820f97a134c93c)
I'm trying to narrow it down somehow and create an MRP if possible.
Godot Editor also crashes on my Chromebook when I open the Mesh preview. (Even without Material override)
Screenshot - Mesh Preview
I was unable to reproduce a crash using a simple 3D scene.
Screenshot - 3D Scene with SubViewport
Crash occurs as soon as MSAA_4X is used.
Should we disable/prevent it on GPUs that are causing problems?
I can recall even more issue reports that are at least a year old, related to MSAA.
It is forced here in the editor.
https://github.com/godotengine/godot/blob/7716a4cba0e4d96e170488bd4f332d22395f7bdb/editor/scene/3d/mesh_editor_plugin.cpp#L111
https://github.com/godotengine/godot/blob/7716a4cba0e4d96e170488bd4f332d22395f7bdb/editor/scene/material_editor_plugin.cpp#L288
MRP
In my test project, it is activated after 3 seconds. I'll first run it on the Firebase Test Lab to check if more devices are affected.
func _on_timer_timeout() -> void:
var v_rid = %SubViewport.get_viewport_rid()
RenderingServer.viewport_set_msaa_3d(v_rid, RenderingServer.VIEWPORT_MSAA_4X)
EDIT:
Firebase Test Lab doesn't seem to be working properly at the moment. I've started tests on 27 devices, mostly Mali GPUs, but the tests all stopped far too early. On some devices, I only see the Godot logo or the 3D scene for a maximum of one second. The log files don't show any crashes, only that the app pauses or minimizes.
@Alex2782 Can you try enabling Vulkan Validation Layers and check if you get any errors? I suspect there is a driver bug here. If there aren't any VLL errors, we can ask ARM for help
Vulkan Validation Layers
Tested with 4.5 and master branch, each on a Chromebook (Mali GPU) and Samsung Tab S7 (Adreno GPU), for comparison.
My Samsung Tab S7 is also displaying many ERROR: Vulkan Debug Report messages. The error messages look identical to me in the 4.5 and master versions.
- Android binaries for 1.4.328.1 SDK release
-
adb logcat -s godot
Crash: master branch - Mali-G52
11-20 19:15:16.882 3636 3671 I godot : Godot Engine v4.6.dev.custom_build.8deb22182 (2025-11-20 17:10:58 UTC) - https://godotengine.org
11-20 19:15:16.990 3636 3671 I godot : Vulkan Debug Report: object - -5476376603754867712
11-20 19:15:16.990 3636 3671 I godot : vkCreateInstance(): Khronos Validation Layer Active:
11-20 19:15:16.990 3636 3671 I godot : Current Enables: None.
11-20 19:15:16.990 3636 3671 I godot : Current Disables: None.
11-20 19:15:16.990 3636 3671 I godot :
11-20 19:15:17.014 3636 3671 I godot : Vulkan Debug Report: object - 0
11-20 19:15:17.014 3636 3671 I godot : vkCreateDevice(): Cannot open shader validation cache at /tmp/shader_validation_cache-10083.bin for reading (it may not exist yet)
11-20 19:15:17.023 3636 3671 I godot : Vulkan 1.3.269 - Forward Mobile - Using Device #0: ARM - Virtio-GPU Venus (Mali-G52)
11-20 19:15:19.163 3636 3671 I godot :
11-20 19:15:20.278 3636 3671 E godot : ERROR: Vulkan Debug Report: object - 1234751557993571
11-20 19:15:20.278 3636 3671 E godot : vkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0x4630000000463) is being signaled by VkQueue 0xb400007e7512d200, but it may still be in use by VkSwapchainKHR 0x4470000000447.
11-20 19:15:20.278 3636 3671 E godot : Most recently acquired image indices: [0], 1, 2.
11-20 19:15:20.278 3636 3671 E godot : (Brackets mark the last use of VkSemaphore 0x4630000000463 in a presentation operation.)
11-20 19:15:20.278 3636 3671 E godot : Swapchain image 0 was presented but was not re-acquired, so VkSemaphore 0x4630000000463 may still be in use and cannot be safely reused with image index 2.
11-20 19:15:20.278 3636 3671 E godot : Vulkan insight: See https://docs.vulkan.org/guide/latest/swapchain_semaphore_reuse.html for details on swapchain semaphore reuse. Examples of possible approaches:
11-20 19:15:20.278 3636 3671 E godot : a) Use a separate semaphore per swapchain image. Index these semaphores using the index of the acquired image.
11-20 19:15:20.278 3636 3671 E godot : b) Consider the VK_KHR_swapchain_maintenance1 extension. It allows using a VkFence with the presentation operation.
11-20 19:15:20.278 3636 3671 E godot : The Vulkan spec states: Each binary semaphore element of the pSignalSemaphores member of
11-20 19:15:20.278 3636 3671 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 19:15:20.332 3636 3671 E godot : ERROR: Vulkan Debug Report: object - 1238050092876902
11-20 19:15:20.332 3636 3671 E godot : vkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0x4660000000466) is being signaled by VkQueue 0xb400007e7512d200, but it may still be in use by VkSwapchainKHR 0x4470000000447.
11-20 19:15:20.332 3636 3671 E godot : Most recently acquired image indices: 0, [1], 2, 3.
11-20 19:15:20.332 3636 3671 E godot : (Brackets mark the last use of VkSemaphore 0x4660000000466 in a presentation operation.)
11-20 19:15:20.332 3636 3671 E godot : Swapchain image 1 was presented but was not re-acquired, so VkSemaphore 0x4660000000466 may still be in use and cannot be safely reused with image index 3.
11-20 19:15:20.332 3636 3671 E godot : Vulkan insight: See https://docs.vulkan.org/guide/latest/swapchain_semaphore_reuse.html for details on swapchain semaphore reuse. Examples of possible approaches:
11-20 19:15:20.332 3636 3671 E godot : a) Use a separate semaphore per swapchain image. Index these semaphores using the index of the acquired image.
11-20 19:15:20.332 3636 3671 E godot : b) Consider the VK_KHR_swapchain_maintenance1 extension. It allows using a VkFence with the presentation operation.
11-20 19:15:20.332 3636 3671 E godot : The Vulkan spec states: Each binary semaphore element of the pSignalSemaphores member
11-20 19:15:20.332 3636 3671 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
No Crash: master branch - Adreno (TM) 650
11-20 19:03:00.282 8647 8774 I godot : Godot Engine v4.6.dev.custom_build.8deb22182 (2025-11-20 17:10:58 UTC) - https://godotengine.org
11-20 19:03:00.406 8647 8774 I godot : Vulkan Debug Report: object - -5476376612494475760
11-20 19:03:00.406 8647 8774 I godot : vkCreateInstance(): Khronos Validation Layer Active:
11-20 19:03:00.406 8647 8774 I godot : Current Enables: None.
11-20 19:03:00.406 8647 8774 I godot : Current Disables: None.
11-20 19:03:00.406 8647 8774 I godot :
11-20 19:03:00.411 8647 8774 I godot : Vulkan Debug Report: object - 0
11-20 19:03:00.411 8647 8774 I godot : vkCreateDevice(): Cannot open shader validation cache at /tmp/shader_validation_cache-10779.bin for reading (it may not exist yet)
11-20 19:03:00.413 8647 8774 I godot : Vulkan 1.1.128 - Forward Mobile - Using Device #0: Qualcomm - Adreno (TM) 650
11-20 19:03:01.930 8647 8774 I godot :
11-20 19:03:02.828 8647 8774 E godot : ERROR: Vulkan Debug Report: object - -5476376612564684112
11-20 19:03:02.828 8647 8774 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5610000000561, Set 1, Binding 4, Index 0] has VkSampler 0x5460000000546 which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 19:03:02.828 8647 8774 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 19:03:02.828 8647 8774 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 19:03:02.829 8647 8774 E godot : ERROR: Vulkan Debug Report: object - -5476376612564684112
11-20 19:03:02.829 8647 8774 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5850000000585, Set 1, Binding 4, Index 0] has VkSampler 0x56e000000056e which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 19:03:02.829 8647 8774 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 19:03:02.829 8647 8774 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 19:03:02.832 8647 8774 E godot : ERROR: Vulkan Debug Report: object - -5476376612564684160
11-20 19:03:02.832 8647 8774 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5610000000561, Set 1, Binding 4, Index 0] has VkSampler 0x5460000000546 which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 19:03:02.832 8647 8774 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 19:03:02.832 8647 8774 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 19:03:02.832 8647 8774 E godot : ERROR: Vulkan Debug Report: object - -5476376612564684160
11-20 19:03:02.832 8647 8774 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5850000000585, Set 1, Binding 4, Index 0] has VkSampler 0x56e000000056e which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 19:03:02.832 8647 8774 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 19:03:02.832 8647 8774 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 19:03:02.833 8647 8774 E godot : ERROR: Vulkan Debug Report: object - 1249045209154672
11-20 19:03:02.833 8647 8774 E godot : vkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0x4700000000470) is being signaled by VkQueue 0xb400007c67d33250, but it may still be in use by VkSwapchainKHR 0x4540000000454.
11-20 19:03:02.833 8647 8774 E godot : Most recently acquired image indices: [0], 1, 2.
11-20 19:03:02.833 8647 8774 E godot : (Brackets mark the last use of VkSemaphore 0x4700000000470 in a presentation operation.)
11-20 19:03:02.833 8647 8774 E godot : Swapchain image 0 was presented but was not re-acquired, so VkSemaphore 0x4700000000470 may still be in use and cannot be safely reused with image index 2.
11-20 19:03:02.833 8647 8774 E godot : Vulkan insight: See https://docs.vulkan.org/guide/latest/swapchain_semaphore_reuse.html for details on swapchain semaphore reuse. Examples of possible approaches:
11-20 19:03:02.833 8647 8774 E godot : a) Use a separate semaphore per swapchain image. Index these semaphores using the index of the acquired image.
11-20 19:03:02.833 8647 8774 E godot : b) Consider the VK_KHR_swapchain_maintenance1 extension. It allows using a VkFence with the presentation operation.
11-20 19:03:02.833 8647 8774 E godot : The Vulkan spec states: Each binary semaphore element of the pSignalSemaphores member of
11-20 19:03:02.833 8647 8774 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 19:03:02.851 8647 8774 E godot : ERROR: Vulkan Debug Report: object - -5476376612564684112
11-20 19:03:02.851 8647 8774 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5610000000561, Set 1, Binding 4, Index 0] has VkSampler 0x5460000000546 which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 19:03:02.851 8647 8774 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 19:03:02.851 8647 8774 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 19:03:02.851 8647 8774 E godot : ERROR: Vulkan Debug Report: object - -5476376612564684112
11-20 19:03:02.851 8647 8774 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5850000000585, Set 1, Binding 4, Index 0] has VkSampler 0x56e000000056e which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 19:03:02.851 8647 8774 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 19:03:02.851 8647 8774 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 19:03:02.852 8647 8774 E godot : ERROR: Vulkan Debug Report: object - 1252343744038003
11-20 19:03:02.852 8647 8774 E godot : vkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0x4730000000473) is being signaled by VkQueue 0xb400007c67d33250, but it may still be in use by VkSwapchainKHR 0x4540000000454.
11-20 19:03:02.852 8647 8774 E godot : Most recently acquired image indices: 0, [1], 2, 3.
11-20 19:03:02.852 8647 8774 E godot : (Brackets mark the last use of VkSemaphore 0x4730000000473 in a presentation operation.)
11-20 19:03:02.852 8647 8774 E godot : Swapchain image 1 was presented but was not re-acquired, so VkSemaphore 0x4730000000473 may still be in use and cannot be safely reused with image index 3.
11-20 19:03:02.852 8647 8774 E godot : Vulkan insight: See https://docs.vulkan.org/guide/latest/swapchain_semaphore_reuse.html for details on swapchain semaphore reuse. Examples of possible approaches:
11-20 19:03:02.852 8647 8774 E godot : a) Use a separate semaphore per swapchain image. Index these semaphores using the index of the acquired image.
11-20 19:03:02.852 8647 8774 E godot : b) Consider the VK_KHR_swapchain_maintenance1 extension. It allows using a VkFence with the presentation operation.
11-20 19:03:02.852 8647 8774 E godot : The Vulkan spec states: Each binary semaphore element of the pSignalSemaphores member
11-20 19:03:02.852 8647 8774 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 19:03:02.853 8647 8774 E godot : ERROR: Vulkan Debug Report: object - -5476376612564684160
11-20 19:03:02.853 8647 8774 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5610000000561, Set 1, Binding 4, Index 0] has VkSampler 0x5460000000546 which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 19:03:02.853 8647 8774 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 19:03:02.853 8647 8774 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 19:03:02.854 8647 8774 E godot : ERROR: Vulkan Debug Report: object - -5476376612564684160
11-20 19:03:02.854 8647 8774 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5850000000585, Set 1, Binding 4, Index 0] has VkSampler 0x56e000000056e which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 19:03:02.854 8647 8774 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 19:03:02.854 8647 8774 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 19:03:02.874 8647 8774 E godot : ERROR: Vulkan Debug Report: object - -5476376612564684112
11-20 19:03:02.874 8647 8774 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5610000000561, Set 1, Binding 4, Index 0] has VkSampler 0x5460000000546 which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 19:03:02.874 8647 8774 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 19:03:02.874 8647 8774 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 19:03:02.874 8647 8774 E godot : ERROR: Vulkan Debug Report: object - -5476376612564684112
11-20 19:03:02.874 8647 8774 E godot : (Warning - This VUID has now been reported 10 times, which is the duplicate_message_limit value, this will be the last time reporting it).
11-20 19:03:02.874 8647 8774 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5850000000585, Set 1, Binding 4, Index 0] has VkSampler 0x56e000000056e which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 19:03:02.874 8647 8774 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawInde
11-20 19:03:02.874 8647 8774 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 19:03:43.651 8647 8774 E godot : ERROR: QueuePresentKHR failed with error: VK_ERROR_SURFACE_LOST_KHR
11-20 19:03:43.651 8647 8774 E godot : at: command_queue_execute_and_present (drivers/vulkan/rendering_device_driver_vulkan.cpp:3060)
No Crash: v4.5.2.rc - Mali-G52
--------- beginning of main
11-20 18:33:25.605 3116 3195 I godot : Godot Engine v4.5.2.rc.custom_build.44c3f6a55 (2025-11-19 11:43:58 UTC) - https://godotengine.org
11-20 18:33:25.739 3116 3195 I godot : Vulkan Debug Report: object - -5476376603755311360
11-20 18:33:25.739 3116 3195 I godot : vkCreateInstance(): Khronos Validation Layer Active:
11-20 18:33:25.739 3116 3195 I godot : Current Enables: None.
11-20 18:33:25.739 3116 3195 I godot : Current Disables: None.
11-20 18:33:25.739 3116 3195 I godot :
11-20 18:33:25.763 3116 3195 I godot : Vulkan Debug Report: object - 0
11-20 18:33:25.763 3116 3195 I godot : vkCreateDevice(): Cannot open shader validation cache at /tmp/shader_validation_cache-10083.bin for reading (it may not exist yet)
11-20 18:33:25.770 3116 3195 I godot : Vulkan 1.3.269 - Forward Mobile - Using Device #0: ARM - Virtio-GPU Venus (Mali-G52)
11-20 18:33:28.085 3116 3195 I godot :
11-20 18:33:30.544 3116 3195 E godot : ERROR: Vulkan Debug Report: object - 1238050092876902
11-20 18:33:30.544 3116 3195 E godot : vkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0x4660000000466) is being signaled by VkQueue 0xb400007e74fcb400, but it may still be in use by VkSwapchainKHR 0x44a000000044a.
11-20 18:33:30.544 3116 3195 E godot : Most recently acquired image indices: [0], 1, 2.
11-20 18:33:30.544 3116 3195 E godot : (Brackets mark the last use of VkSemaphore 0x4660000000466 in a presentation operation.)
11-20 18:33:30.544 3116 3195 E godot : Swapchain image 0 was presented but was not re-acquired, so VkSemaphore 0x4660000000466 may still be in use and cannot be safely reused with image index 2.
11-20 18:33:30.544 3116 3195 E godot : Vulkan insight: See https://docs.vulkan.org/guide/latest/swapchain_semaphore_reuse.html for details on swapchain semaphore reuse. Examples of possible approaches:
11-20 18:33:30.544 3116 3195 E godot : a) Use a separate semaphore per swapchain image. Index these semaphores using the index of the acquired image.
11-20 18:33:30.544 3116 3195 E godot : b) Consider the VK_KHR_swapchain_maintenance1 extension. It allows using a VkFence with the presentation operation.
11-20 18:33:30.544 3116 3195 E godot : The Vulkan spec states: Each binary semaphore element of the pSignalSemaphores member of
11-20 18:33:30.544 3116 3195 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 18:33:30.563 3116 3195 E godot : ERROR: Vulkan Debug Report: object - 1241348627760233
11-20 18:33:30.563 3116 3195 E godot : vkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0x4690000000469) is being signaled by VkQueue 0xb400007e74fcb400, but it may still be in use by VkSwapchainKHR 0x44a000000044a.
11-20 18:33:30.563 3116 3195 E godot : Most recently acquired image indices: 0, [1], 2, 3.
11-20 18:33:30.563 3116 3195 E godot : (Brackets mark the last use of VkSemaphore 0x4690000000469 in a presentation operation.)
11-20 18:33:30.563 3116 3195 E godot : Swapchain image 1 was presented but was not re-acquired, so VkSemaphore 0x4690000000469 may still be in use and cannot be safely reused with image index 3.
11-20 18:33:30.563 3116 3195 E godot : Vulkan insight: See https://docs.vulkan.org/guide/latest/swapchain_semaphore_reuse.html for details on swapchain semaphore reuse. Examples of possible approaches:
11-20 18:33:30.563 3116 3195 E godot : a) Use a separate semaphore per swapchain image. Index these semaphores using the index of the acquired image.
11-20 18:33:30.563 3116 3195 E godot : b) Consider the VK_KHR_swapchain_maintenance1 extension. It allows using a VkFence with the presentation operation.
11-20 18:33:30.563 3116 3195 E godot : The Vulkan spec states: Each binary semaphore element of the pSignalSemaphores member
11-20 18:33:30.563 3116 3195 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 18:33:45.488 3116 3195 E godot : ERROR: QueuePresentKHR failed with error: VK_ERROR_SURFACE_LOST_KHR
11-20 18:33:45.488 3116 3195 E godot : at: command_queue_execute_and_present (drivers/vulkan/rendering_device_driver_vulkan.cpp:2842)
11-20 18:33:45.787 3116 3195 I godot : Vulkan Debug Report: object - 0
11-20 18:33:45.787 3116 3195 I godot : vkDestroyDevice(): Cannot open shader validation cache at /tmp/shader_validation_cache-10083.bin for writing
11-20 18:33:45.802 3116 3195 E godot : ERROR: Vulkan Debug Report: object - -5476376603755311360
11-20 18:33:45.802 3116 3195 E godot : vkDestroyInstance(): Object Tracking - For VkInstance 0xb400007e74e78f00, VkSurfaceKHR 0x20000000002 has not been destroyed.
11-20 18:33:45.802 3116 3195 E godot : The Vulkan spec states: All child objects that were created with instance or with a VkPhysicalDevice retrieved from it, and that can be destroyed or freed, must have been destroyed or freed prior to destroying instance (https://docs.vulkan.org/spec/latest/chapters/initialization.html#VUID-vkDestroyInstance-instance-00629)
11-20 18:33:45.802 3116 3195 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
No Crash: v4.5.2.rc - Adreno (TM) 650
--------- beginning of main
11-20 18:08:05.186 31584 31672 I godot : Godot Engine v4.5.2.rc.custom_build.44c3f6a55 (2025-11-19 11:43:58 UTC) - https://godotengine.org
11-20 18:08:05.462 31584 31672 I godot : Vulkan Debug Report: object - -5476376610155983040
11-20 18:08:05.462 31584 31672 I godot : vkCreateInstance(): Khronos Validation Layer Active:
11-20 18:08:05.462 31584 31672 I godot : Current Enables: None.
11-20 18:08:05.462 31584 31672 I godot : Current Disables: None.
11-20 18:08:05.462 31584 31672 I godot :
11-20 18:08:05.485 31584 31672 I godot : Vulkan Debug Report: object - 0
11-20 18:08:05.485 31584 31672 I godot : vkCreateDevice(): Cannot open shader validation cache at /tmp/shader_validation_cache-10779.bin for reading (it may not exist yet)
11-20 18:08:05.492 31584 31672 I godot : Vulkan 1.1.128 - Forward Mobile - Using Device #0: Qualcomm - Adreno (TM) 650
11-20 18:08:07.461 31584 31672 I godot :
11-20 18:08:08.530 31584 31672 E godot : ERROR: Vulkan Debug Report: object - -5476376612226548480
11-20 18:08:08.530 31584 31672 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5650000000565, Set 1, Binding 4, Index 0] has VkSampler 0x54b000000054b which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 18:08:08.530 31584 31672 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 18:08:08.530 31584 31672 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 18:08:08.530 31584 31672 E godot : ERROR: Vulkan Debug Report: object - -5476376612226548480
11-20 18:08:08.530 31584 31672 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5870000000587, Set 1, Binding 4, Index 0] has VkSampler 0x5730000000573 which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 18:08:08.530 31584 31672 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 18:08:08.530 31584 31672 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 18:08:08.534 31584 31672 E godot : ERROR: Vulkan Debug Report: object - -5476376610155983536
11-20 18:08:08.534 31584 31672 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5650000000565, Set 1, Binding 4, Index 0] has VkSampler 0x54b000000054b which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 18:08:08.534 31584 31672 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 18:08:08.534 31584 31672 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 18:08:08.534 31584 31672 E godot : ERROR: Vulkan Debug Report: object - -5476376610155983536
11-20 18:08:08.534 31584 31672 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5870000000587, Set 1, Binding 4, Index 0] has VkSampler 0x5730000000573 which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 18:08:08.534 31584 31672 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 18:08:08.534 31584 31672 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 18:08:08.535 31584 31672 E godot : ERROR: Vulkan Debug Report: object - 1254542767293557
11-20 18:08:08.535 31584 31672 E godot : vkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0x4750000000475) is being signaled by VkQueue 0xb400007d128a3c20, but it may still be in use by VkSwapchainKHR 0x4590000000459.
11-20 18:08:08.535 31584 31672 E godot : Most recently acquired image indices: [0], 1, 2.
11-20 18:08:08.535 31584 31672 E godot : (Brackets mark the last use of VkSemaphore 0x4750000000475 in a presentation operation.)
11-20 18:08:08.535 31584 31672 E godot : Swapchain image 0 was presented but was not re-acquired, so VkSemaphore 0x4750000000475 may still be in use and cannot be safely reused with image index 2.
11-20 18:08:08.535 31584 31672 E godot : Vulkan insight: See https://docs.vulkan.org/guide/latest/swapchain_semaphore_reuse.html for details on swapchain semaphore reuse. Examples of possible approaches:
11-20 18:08:08.535 31584 31672 E godot : a) Use a separate semaphore per swapchain image. Index these semaphores using the index of the acquired image.
11-20 18:08:08.535 31584 31672 E godot : b) Consider the VK_KHR_swapchain_maintenance1 extension. It allows using a VkFence with the presentation operation.
11-20 18:08:08.535 31584 31672 E godot : The Vulkan spec states: Each binary semaphore element of the pSignalSemaphores member of
11-20 18:08:08.535 31584 31672 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 18:08:08.562 31584 31672 E godot : ERROR: Vulkan Debug Report: object - -5476376612226548480
11-20 18:08:08.562 31584 31672 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5650000000565, Set 1, Binding 4, Index 0] has VkSampler 0x54b000000054b which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 18:08:08.562 31584 31672 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 18:08:08.562 31584 31672 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 18:08:08.562 31584 31672 E godot : ERROR: Vulkan Debug Report: object - -5476376612226548480
11-20 18:08:08.562 31584 31672 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5870000000587, Set 1, Binding 4, Index 0] has VkSampler 0x5730000000573 which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 18:08:08.562 31584 31672 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 18:08:08.562 31584 31672 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 18:08:08.563 31584 31672 E godot : ERROR: Vulkan Debug Report: object - 1257841302176888
11-20 18:08:08.563 31584 31672 E godot : vkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0x4780000000478) is being signaled by VkQueue 0xb400007d128a3c20, but it may still be in use by VkSwapchainKHR 0x4590000000459.
11-20 18:08:08.563 31584 31672 E godot : Most recently acquired image indices: 0, [1], 2, 3.
11-20 18:08:08.563 31584 31672 E godot : (Brackets mark the last use of VkSemaphore 0x4780000000478 in a presentation operation.)
11-20 18:08:08.563 31584 31672 E godot : Swapchain image 1 was presented but was not re-acquired, so VkSemaphore 0x4780000000478 may still be in use and cannot be safely reused with image index 3.
11-20 18:08:08.563 31584 31672 E godot : Vulkan insight: See https://docs.vulkan.org/guide/latest/swapchain_semaphore_reuse.html for details on swapchain semaphore reuse. Examples of possible approaches:
11-20 18:08:08.563 31584 31672 E godot : a) Use a separate semaphore per swapchain image. Index these semaphores using the index of the acquired image.
11-20 18:08:08.563 31584 31672 E godot : b) Consider the VK_KHR_swapchain_maintenance1 extension. It allows using a VkFence with the presentation operation.
11-20 18:08:08.563 31584 31672 E godot : The Vulkan spec states: Each binary semaphore element of the pSignalSemaphores member
11-20 18:08:08.563 31584 31672 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 18:08:08.579 31584 31672 E godot : ERROR: Vulkan Debug Report: object - -5476376610155983536
11-20 18:08:08.579 31584 31672 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5650000000565, Set 1, Binding 4, Index 0] has VkSampler 0x54b000000054b which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 18:08:08.579 31584 31672 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 18:08:08.579 31584 31672 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 18:08:08.579 31584 31672 E godot : ERROR: Vulkan Debug Report: object - -5476376610155983536
11-20 18:08:08.579 31584 31672 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5870000000587, Set 1, Binding 4, Index 0] has VkSampler 0x5730000000573 which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 18:08:08.579 31584 31672 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 18:08:08.579 31584 31672 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 18:08:08.589 31584 31672 E godot : ERROR: Vulkan Debug Report: object - -5476376612226548480
11-20 18:08:08.589 31584 31672 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5650000000565, Set 1, Binding 4, Index 0] has VkSampler 0x54b000000054b which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 18:08:08.589 31584 31672 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawIndexed-magFilter-04553)
11-20 18:08:08.589 31584 31672 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 18:08:08.590 31584 31672 E godot : ERROR: Vulkan Debug Report: object - -5476376612226548480
11-20 18:08:08.590 31584 31672 E godot : (Warning - This VUID has now been reported 10 times, which is the duplicate_message_limit value, this will be the last time reporting it).
11-20 18:08:08.590 31584 31672 E godot : vkCmdDrawIndexed(): the sampled image descriptor [VkDescriptorSet 0x5870000000587, Set 1, Binding 4, Index 0] has VkSampler 0x5730000000573 which is set to use VK_FILTER_LINEAR with compareEnable is set to VK_FALSE, but image view's (VkImageView 0x380000000038) format (VK_FORMAT_D16_UNORM) does not contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features.
11-20 18:08:08.590 31584 31672 E godot : The Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT (https://docs.vulkan.org/spec/latest/chapters/drawing.html#VUID-vkCmdDrawInde
11-20 18:08:08.590 31584 31672 E godot : at: _debug_report_callback (drivers/vulkan/rendering_context_driver_vulkan.cpp:665)
11-20 18:08:19.639 31584 31672 E godot : ERROR: QueuePresentKHR failed with error: VK_ERROR_SURFACE_LOST_KHR
11-20 18:08:19.639 31584 31672 E godot : at: command_queue_execute_and_present (drivers/vulkan/rendering_device_driver_vulkan.cpp:2842)
I checked the logs without the -s godot filter, and the Vulkan Debug Report error messages are only displayed on my Chromebook at startup. For 3 seconds I see nothing suspicious, then MSAA_4X is activated (via a Timer) and the app crashes.
crash details
--------- beginning of crash
11-20 19:15:23.622 3636 3671 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 3671 (VkThread), pid 3636 (testsubviewport)
11-20 19:15:23.700 3700 3700 I crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstoneProto
11-20 19:15:23.707 246 246 I tombstoned: received crash request for pid 3671
11-20 19:15:23.711 3700 3700 I crash_dump64: performing dump of process 3636 (target tid = 3671)
11-20 19:15:24.682 3700 3700 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
11-20 19:15:24.682 3700 3700 F DEBUG : Build fingerprint: 'google/corsola/corsola_cheets:13/R142-16433.41.0/14390219:user/release-keys'
11-20 19:15:24.682 3700 3700 F DEBUG : Revision: '0'
11-20 19:15:24.682 3700 3700 F DEBUG : ABI: 'arm64'
11-20 19:15:24.682 3700 3700 F DEBUG : Timestamp: 2025-11-20 19:15:23.718893389+0100
11-20 19:15:24.682 3700 3700 F DEBUG : Process uptime: 10s
11-20 19:15:24.682 3700 3700 F DEBUG : Cmdline: com.example.testsubviewport
11-20 19:15:24.682 3700 3700 F DEBUG : pid: 3636, tid: 3671, name: VkThread >>> com.example.testsubviewport <<<
11-20 19:15:24.683 3700 3700 F DEBUG : uid: 10083
11-20 19:15:24.683 3700 3700 F DEBUG : tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
11-20 19:15:24.683 3700 3700 F DEBUG : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
11-20 19:15:24.683 3700 3700 F DEBUG : x0 0000000000000000 x1 0000000000000e57 x2 0000000000000006 x3 0000007e733fa2c0
11-20 19:15:24.683 3700 3700 F DEBUG : x4 0000000000000010 x5 0000000000000010 x6 0000000000000010 x7 7f7f7f7f7f7f7f7f
11-20 19:15:24.683 3700 3700 F DEBUG : x8 00000000000000f0 x9 0000007f8dc76a70 x10 0000000000000001 x11 0000007f8dceb040
11-20 19:15:24.683 3700 3700 F DEBUG : x12 0000007e733f8b50 x13 000000000000001e x14 0000007e733f9e20 x15 000000004cec4ec5
11-20 19:15:24.683 3700 3700 F DEBUG : x16 0000007f8dd5ba48 x17 0000007f8dd34110 x18 0000007e731d4000 x19 00000000000000ac
11-20 19:15:24.683 3700 3700 F DEBUG : x20 00000000000000b2 x21 0000000000000e34 x22 0000000000000e57 x23 00000000ffffffff
11-20 19:15:24.683 3700 3700 F DEBUG : x24 0000000000000070 x25 00000000001a78a8 x26 0000007e733faa80 x27 0000000000000001
11-20 19:15:24.683 3700 3700 F DEBUG : x28 0000000000000070 x29 0000007e733fa340
11-20 19:15:24.683 3700 3700 F DEBUG : lr 0000007f8dcdba14 sp 0000007e733fa2a0 pc 0000007f8dcdba44 pst 0000000000001000
11-20 19:15:24.683 3700 3700 F DEBUG : backtrace:
11-20 19:15:24.683 3700 3700 F DEBUG : #00 pc 000000000008ca44 /apex/com.android.runtime/lib64/bionic/libc.so (abort+180) (BuildId: ea7c847a5b363db102820f97a134c93c)
11-20 19:15:24.683 3700 3700 F DEBUG : #01 pc 00000000000afa1c /vendor/lib64/hw/vulkan.cheets.so
11-20 19:15:24.683 3700 3700 F DEBUG : #02 pc 00000000000afc24 /vendor/lib64/hw/vulkan.cheets.so
11-20 19:15:24.683 3700 3700 F DEBUG : #03 pc 00000000000a7810 /vendor/lib64/hw/vulkan.cheets.so
11-20 19:15:24.683 3700 3700 F DEBUG : #04 pc 00000000000a2cb0 /vendor/lib64/hw/vulkan.cheets.so
11-20 19:15:24.683 3700 3700 F DEBUG : #05 pc 00000000000a1818 /vendor/lib64/hw/vulkan.cheets.so
11-20 19:15:24.683 3700 3700 F DEBUG : #06 pc 00000000000e0954 /vendor/lib64/hw/vulkan.cheets.so
11-20 19:15:24.683 3700 3700 F DEBUG : #07 pc 0000000000027044 /system/lib64/libvulkan.so (vulkan::driver::QueuePresentKHR(VkQueue_T*, VkPresentInfoKHR const*)+404) (BuildId: 2acc69c2738001649f1304215d8fe9f6)
11-20 19:15:24.683 3700 3700 F DEBUG : #08 pc 00000000009cd1d4 /data/app/~~mFZSSvsuShrQt2NVP7uu4Q==/com.example.testsubviewport-dkmAFa8T8Ww8tlCA7Cr3hw==/lib/arm64/libVkLayer_khronos_validation.so (BuildId: 12f4f633ba11445871babee107eab72a6e881a5a)
11-20 19:15:24.683 3700 3700 F DEBUG : #09 pc 00000000009c1ff4 /data/app/~~mFZSSvsuShrQt2NVP7uu4Q==/com.example.testsubviewport-dkmAFa8T8Ww8tlCA7Cr3hw==/lib/arm64/libVkLayer_khronos_validation.so (BuildId: 12f4f633ba11445871babee107eab72a6e881a5a)
11-20 19:15:24.683 3700 3700 F DEBUG : #10 pc 0000000004582418 /data/app/~~mFZSSvsuShrQt2NVP7uu4Q==/com.example.testsubviewport-dkmAFa8T8Ww8tlCA7Cr3hw==/lib/arm64/libgodot_android.so (swappy::SwappyVkFallback::doQueuePresent(VkQueue_T*, unsigned int, VkPresentInfoKHR const*)+304) (BuildId: 800926570add5975)
11-20 19:15:24.683 3700 3700 F DEBUG : #11 pc 0000000004575418 /data/app/~~mFZSSvsuShrQt2NVP7uu4Q==/com.example.testsubviewport-dkmAFa8T8Ww8tlCA7Cr3hw==/lib/arm64/libgodot_android.so (SwappyVk_queuePresent+144) (BuildId: 800926570add5975)
11-20 19:15:24.683 3700 3700 F DEBUG : #12 pc 000000000204be54 /data/app/~~mFZSSvsuShrQt2NVP7uu4Q==/com.example.testsubviewport-dkmAFa8T8Ww8tlCA7Cr3hw==/lib/arm64/libgodot_android.so (BuildId: 800926570add5975)
I also see libVkLayer_khronos_validation.so in the crash logs; it looks to me like nothing was detected.
A few days ago, I was able to test on Firebase Test Lab on an Android 13 Mali-G52 device without any crashes. It's possible this driver bug only exists up to Android 11. My Chromebook also runs Android 13, but probably has older drivers.
If there aren't any VLL errors, we can ask ARM for help
I was able to narrow it down further now: vec4 color = subpassLoad(input_color);, in the file tonemap_mobile.glsl.
When I switch to SAMPLER_FORMAT, everything seems to be OK again, even when MSAA is activated.
Should I try to find a workaround that avoids UNIFORM_TYPE_INPUT_ATTACHMENT on devices where it is broken?
EDIT: Simply setting this variable to false also works: bool using_subpass_post_process = false; src
We can link workaround stuff to that.
details / code
#ifdef SUBPASS
//layout(input_attachment_index = 0, set = 0, binding = 0) uniform subpassInput input_color;
layout(set = 0, binding = 0) uniform SAMPLER_FORMAT input_color;
#else
.....
void main() {
#ifdef SUBPASS
// SUBPASS and USE_MULTIVIEW can be combined but in that case we're already reading from the correct layer
#ifdef USE_MULTIVIEW
// In order to ensure the `SpvCapabilityMultiView` is included in the SPIR-V capabilities, gl_ViewIndex must
// be read in the shader. Without this, transpilation to Metal fails to include the multi-view variant.
uint vi = ViewIndex;
#endif
//vec4 color = subpassLoad(input_color);
//vec4 color = vec4(1.0f, 0.5f, 0.5f, 0.5f);
vec4 color = textureLod(input_color, uv_interp, 0.0f);
CPP File
//RD::Uniform u_source_color;
//u_source_color.uniform_type = RD::UNIFORM_TYPE_INPUT_ATTACHMENT;
//u_source_color.binding = 0;
//u_source_color.append_id(p_source_color);
RD::Uniform u_source_color(RD::UNIFORM_TYPE_SAMPLER_WITH_TEXTURE, 0, Vector<RID>({ default_sampler, p_source_color }));
Its possible that https://github.com/godotengine/godot/pull/113467 might fix this issue.
Can you both test with dev 6?
Reproducible in Godot v4.6.dev6
Reproducible in Godot v4.6.dev6
Thank you for checking!
I was able to narrow it down further now: vec4 color = subpassLoad(input_color);, in the file tonemap_mobile.glsl. When I switch to SAMPLER_FORMAT, everything seems to be OK again, even when MSAA is activated.
@Alex2782 What makes this so strange is that this part of the code is the same before and after https://github.com/godotengine/godot/pull/110077. I suspect we are triggering a driver bug that has to do with timing. The only change that https://github.com/godotengine/godot/pull/110077 made was to conditionally compile out code after doing the subpass load based on spec constants. But the path on the CPU is the same (i.e. how the framebuffer is set up, how the textures get bound, etc.). The only difference is that there is now less code running after the subpass load than there was before. But it is possible that something about the old code led the Mali-G52 to fallback to the non subpass path which is apparently less error prone than the subpass path.
Mali GPUs are very sensitive and many factors can lead to them falling back to a non-subpass path.
What's the driver version reported for the device that's crashing?
Also, if you have the Chromebook device in developer mode do you get anything in dmesg indicating a GPU fault?
What's the driver version reported for the device that's crashing?
Cc @Alex2782
@shahriarlabib000 https://github.com/Alex2782/godot/releases/tag/android_editor.v4.6-dev6-2025-12-10
Please test the android_editor-android-debug.apk from there. Start a project; from the output window, we need the deviceID and driverVersion (see screenshot).
What's the driver version reported for the device that's crashing?
In my PR (draft) I have only this so far:
// Workaround for the ARM Mali-G52 family of devices. (GH-112530)
r_device.workarounds.avoid_subpass_post_process =
r_device.vendor == Vendor::VENDOR_ARM &&
p_device_properties.deviceID == 0x74021000 && // Virtio-GPU Venus (Mali-G52)
p_device_properties.driverVersion == VK_MAKE_API_VERSION(0, 24, 2, 8);
EDIT: I have removed driverVersion for now; it seems every version is affected.
Also, if you have the Chromebook device in developer mode do you get anything in dmesg indicating a GPU fault?
[ 0.137820] mtk-socinfo mtk-socinfo.0.auto: MediaTek Kompanio 520 (MT8186) SoC detected.
[ 742.459297] mali 13040000.mali: error detected from slot 0, job status 0x00000058 (DATA_INVALID_FAULT)
[ 742.459432] mali 13040000.mali: t6xx: GPU fault 0x58 from job slot 0