For several weeks now, I’ve been having issues with vulkan rendering freezing sometimes (not always) once I start running a specific compute shader, and only on some mobile GPUs (seems to be Mali-GPUs). When it does, the last 3 frames are repeated over and over until the screen orientation changes or the app goes to the background, after that it’s just a blank screen. I have double and triple checked the compute shader, there’s no corrupt data in the buffers, no out of bounds reads or writes at any point, to the point where I suspect it’s not actually the compute shader that’s faulty, but something with how Unity uses it. I’ll attach the code just in case.
I’ve tried to diagnose the issue ofc, and there are certainly several things going wrong.
Firstly, a bunch of “gralloc4” errors show up right at the start:
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E ERROR: Format allocation info not found for format: 3b
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E ERROR: Format allocation info not found for format: 0
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E Invalid base format! req_base_format = (<unrecognized format> 0x0), req_format = (<unrecognized format> 0x3b), type = 0x0
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E ERROR: Unrecognized and/or unsupported format (<unrecognized format> 0x3b) and usage
(CPU_READ_NEVER|CPU_WRITE_NEVER|GPU_TEXTURE|GPU_RENDER_TARGET|COMPOSER_OVERLAY 0xb00)
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E ERROR: Format allocation info not found for format: 3b
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E ERROR: Format allocation info not found for format: 0
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E Invalid base format! req_base_format = (<unrecognized format> 0x0), req_format = (<unrecognized format> 0x3b), type = 0x0
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E ERROR: Unrecognized and/or unsupported format (<unrecognized format> 0x3b) and usage
(CPU_READ_NEVER|CPU_WRITE_NEVER|GPU_TEXTURE|GPU_RENDER_TARGET|COMPOSER_OVERLAY 0xb00)
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E ERROR: Format allocation info not found for format: 3b
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E ERROR: Format allocation info not found for format: 0
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E Invalid base format! req_base_format = (<unrecognized format> 0x0), req_format = (<unrecognized format> 0x3b), type = 0x0
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E ERROR: Unrecognized and/or unsupported format (<unrecognized format> 0x3b) and usage
(CPU_READ_NEVER|CPU_WRITE_NEVER|GPU_TEXTURE|GPU_RENDER_TARGET|COMPOSER_OVERLAY 0xb00)
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E ERROR: Format allocation info not found for format: 3b
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E ERROR: Format allocation info not found for format: 0
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E Invalid base format! req_base_format = (<unrecognized format> 0x0), req_format = (<unrecognized format> 0x3b), type = 0x0
2024-04-22 16:42:43.037 12826-12846 gralloc4 com.dev.indirecttest2 E ERROR: Unrecognized and/or unsupported format (<unrecognized format> 0x3b) and usage
(CPU_READ_NEVER|CPU_WRITE_NEVER|GPU_TEXTURE|GPU_RENDER_TARGET|COMPOSER_OVERLAY 0xb00)
Searching for them, I only found a few people having the same errors, but no resolution besides “don’t use vulkan” which isn’t really an option.
The app itself doesn’t actually crash, so there is no crash stacktrace. You can still attach a debugger and verify that it is running, and examine the graphics buffers used by the compute shader, and see that no invalid data was contained (They don’t update anymore though, once the rendering stops, so do the compute shaders).
So next I added the vulkan validation layers to my app, to see if I can get some error information that way. And there are tons:
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D Vulkan validation error./Runtime/GfxDevice/vulkan/VKDebug.cpp:144
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #00 0x729a76d6e4 0x729a76d6e4 (libunity.so) vk::smile:ebugUtilsMessengerKHRDefaultCallback(VkDebugUtilsMessageSeverityFlagBitsEXT, unsigned
int, VkDebugUtilsMessengerCallbackDataEXT const*, void*) 0x20c
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #01 0x711c2fe130 0x711c2fe130 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #02 0x711ba71d50 0x711ba71d50 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #03 0x711bb17860 0x711bb17860 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #04 0x711bd01764 0x711bd01764 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #05 0x729a76855c 0x729a76855c (libunity.so) vk::CommandBuffer::Reset(unsigned int) 0x40
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #06 0x729a754be8 0x729a754be8 (libunity.so) GfxDeviceVK::FlushPools_Internal() 0x22c
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #07 0x729a74fc14 0x729a74fc14 (libunity.so) GfxDeviceVK::SubmitCurrentCommandBuffers(VkSemaphore_T*, bool) 0x1b4
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #08 0x729a751b78 0x729a751b78 (libunity.so) GfxDeviceVK::PresentImage(bool) 0x228
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #09 0x7299a31348 0x7299a31348 (libunity.so) PresentFrame() 0x58
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #10 0x7299a2c418 0x7299a2c418 (libunity.so) PresentAndSync() 0x34
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #11 0x7299a2c3c8 0x7299a2c3c8 (libunity.so) PresentAfterDraw(GfxDevicePresentMode) 0x10
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #12 0x7299a2da20 0x7299a2da20 (libunity.so) InitPlayerLoopCallbacks()::PostLateUpdatePresentAfterDrawRegistrator::Forward() 0x80
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #13 0x7299a1c3fc 0x7299a1c3fc (libunity.so) ExecutePlayerLoop(NativePlayerLoopSystem*) 0x84
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #14 0x7299a1c43c 0x7299a1c43c (libunity.so) ExecutePlayerLoop(NativePlayerLoopSystem*) 0xc4
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #15 0x7299a1c730 0x7299a1c730 (libunity.so) PlayerLoop() 0x144
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #16 0x7299ec2040 0x7299ec2040 (libunity.so) UnityPlayerLoop() 0x3d0
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #17 0x7299ec3350 0x7299ec3350 (libunity.so) nativeRender(_JNIEnv*, _jobject*) 0x54
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #18 0x7333551e30 0x7333551e30 (libart.so) art_quick_generic_jni_trampoline 0x90
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D #19 0x58c00d04 0x58c00d04 (memfd:jit-cache (deleted)) ? 0x0
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 E VULKAN: VALIDATION ERROR: Validation Error: [ VUID-vkResetCommandPool-commandPool-00040 ] Object 0: handle = 0xb400007345e64530, type
= VK_OBJECT_TYPE_COMMAND_BUFFER; Object 1: handle = 0x70526c00000000f3, type = VK_OBJECT_TYPE_COMMAND_POOL; | MessageID = 0xb53e2331
| vkResetCommandPool(): (VkCommandBuffer 0xb400007345e64530[]) is in use. The Vulkan spec states: All VkCommandBuffer objects allocated from commandPool must
not be in the pending state (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkResetCommandPool-commandPool-00040)
CommandBuffer labels: FinalBlit | ScriptableRenderer.Execute: URP-Balanced-Renderer | UniversalRenderPipeline.RenderSingleCameraInternal: Main Camera
| FrameTime.GPU
Objects:
#0: { type = VK_OBJECT_TYPE_COMMAND_BUFFER, handle = 0xb400007345e64530 }
#1: { type = VK_OBJECT_TYPE_COMMAND_POOL, handle = 0x70526c00000000f3 }
2024-04-22 17:23:21.229 17480-17501 Unity com.dev.indirecttest2 D Vulkan validation error./Runtime/GfxDevice/vulkan/VKDebug.cpp:1
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #00 0x729a76d6e4 0x729a76d6e4 (libunity.so) vk::smile:ebugUtilsMessengerKHRDefaultCallback(VkDebugUtilsMessageSeverityFlagBitsEXT, unsigned
int, VkDebugUtilsMessengerCallbackDataEXT const*, void*) 0x20c
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #01 0x711c2fe130 0x711c2fe130 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #02 0x711ba71d50 0x711ba71d50 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #03 0x711bc3e7ac 0x711bc3e7ac (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #04 0x711bcf93c8 0x711bcf93c8 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #05 0x729a751528 0x729a751528 (libunity.so) vk::FrameTracking::GetFence() 0x58
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #06 0x729a74fbe4 0x729a74fbe4 (libunity.so) GfxDeviceVK::SubmitCurrentCommandBuffers(VkSemaphore_T*, bool) 0x184
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #07 0x729a747cf8 0x729a747cf8 (libunity.so) GfxDeviceVKBase::EnsureCurrentCommandBuffer(vk::CommandBuffer::Type, bool) 0x7c
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #08 0x729a74277c 0x729a74277c (libunity.so) GfxDeviceVKBase::SetShadersThreadable(GpuProgram**, GpuProgramParameters const**, unsigned char
const* const*) 0x40
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #09 0x7299b3ee7c 0x7299b3ee7c (libunity.so) ShaderLab::ShaderState::ApplyShaderState(unsigned int, ShaderPropertySheet const*, ShaderPassContext
const&, keywords::LocalKeywordState const&, Shader const*, ShaderLab::Pass const*, DynamicBranchState*, ShaderLab::SubPrograms*, DeviceRenderStateBlock
const*, int, int, ShaderLab::Pass const*, ShaderLab::Pass const*) const 0x39c
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #10 0x7299b3ea7c 0x7299b3ea7c (libunity.so) ShaderLab::Pass::ApplyPass(unsigned int, ShaderPropertySheet
const*, DynamicBranchState*, ShaderPassContext&, keywords::LocalKeywordState const&, Shader const*, int, int, ShaderLab::GrabPasses
const*, ShaderLab::SubPrograms*, DeviceRenderStateBlock const*, ShaderLab::Pass const*, ShaderLab::Pass const*) 0xf0
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #11 0x729995faa8 0x729995faa8
(libunity.so) RenderingCommandBuffer::ExecuteCommandBufferWithState(ShaderPassContext&, RenderNodeQueue&, RenderingCommandBufferState*, unsigned
int, ComputeQueueType) const 0x24b4
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #12 0x729995cedc 0x729995cedc (libunity.so) RenderingCommandBuffer::ExecuteCommandBuffer(ShaderPassContext&, RenderNodeQueue&, unsigned
int, dynamic_array<std::__ndk1::pair<ShaderLab::FastPropertyName, RenderTexture*>, 0ul>*, ComputeQueueType, RenderTexture*) const 0x50
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #13 0x7299976324 0x7299976324 (libunity.so) ScriptableRenderContext::ExecuteScriptableRenderLoop() 0xa3c
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #14 0x7292eef4d8 0x7292eef4d8 (libil2cpp.so) ScriptableRenderContext_Submit_Internal_mAE1E99BDF4C4E5A0FD9A0147E460E25ABB84BF14 0x40
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #15 0x7292ef24e0 0x7292ef24e0 (libil2cpp.so) ScriptableRenderContext_Submit_mF417223097ECEB2768EE736BE00A7F94DA3BDD26 0x138
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #16 0x7292ad9b40 0x7292ad9b40 (libil2cpp.so) UniversalRenderPipeline_RenderSingleCamera_m4886F9EF5EEF5C6A85E28E8A0D5E8CCC7809B49C 0x363c
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #17 0x7292acf8a8 0x7292acf8a8 (libil2cpp.so) UniversalRenderPipeline_RenderCameraStack_m47BBC0B4111D83BB6EE3275C9572BFBF2F5451B9 0x3fbc
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #18 0x7292ac8f08 0x7292ac8f08 (libil2cpp.so) UniversalRenderPipeline_Render_m15A42AB44C14AB4DCA7EF0B915964D46B643D50E 0x1140
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #19 0x7292ac7db8 0x7292ac7db8
(libil2cpp.so) VirtualActionInvoker2<ScriptableRenderContext_t5AB09B3602BEB456E0DC3D53926D3A3BDAF08E36, List_1_tD2FA3273746E404D72561E8324608D18B52B533E*>::Invoke(unsigned
short, Il2CppObject*, ScriptableRenderContext_t5AB09B3602BEB456E0DC3D53926D3A3BDAF08E36, List_1_tD2FA3273746E404D72561E8324608D18B52B533E*) 0x50
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #20 0x7292edd804 0x7292edd804 (libil2cpp.so) RenderPipeline_InternalRender_mCB77395158F4572F348D8227BA9127ABF1C9C5BE 0x324
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #21 0x7292ee5144 0x7292ee5144 (libil2cpp.so) RenderPipelineManager_DoRenderLoop_Internal_mB646C8738F4A9859101F3BE94809E2E10BBDB1FB 0x60c
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #22 0x7290e87c78 0x7290e87c78 (libil2cpp.so) RuntimeInvoker_FalseVoid_t4861ACF8F4594C3437BB48B6E56783494B843915_RuntimeObject_IntPtr_t_RuntimeObject(void
(*)(), MethodInfo const*, void*, void**, void*) 0x44
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #23 0x7293e7a810 0x7293e7a810 (libil2cpp.so) il2cpp::vm::Runtime::InvokeWithThrow(MethodInfo const*, void*, void**) 0x58
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #24 0x7293e7a75c 0x7293e7a75c (libil2cpp.so) il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**) 0xb0
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #25 0x7293d2fd68 0x7293d2fd68 (libil2cpp.so) il2cpp_runtime_invoke 0x2c
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #26 0x7299dd41a0 0x7299dd41a0
(libunity.so) scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool) 0xb0
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #27 0x7299de87fc 0x7299de87fc (libunity.so) ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool) 0x88
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #28 0x7299efbe60 0x7299efbe60
(libunity.so) Scripting::UnityEngine::Rendering::RenderPipelineManagerProxy::smile:oRenderLoop_Internal(ScriptingObjectPtr, void*, Scripting::UnityEngine::ObjectProxy, ScriptingExceptionPtr*) 0x78
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #29 0x7299976ae4 0x7299976ae4 (libunity.so) ScriptableRenderContext::ExtractAndExecuteRenderPipeline(dynamic_array<Camera*, 0ul> const&, void (*)(SceneNode
const*, AABB const*, IndexList&, SceneCullingParameters const*), void*, ScriptingObjectPtr) 0x130
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #30 0x729a57a174 0x729a57a174 (libunity.so) RenderManager::RenderCamerasWithScriptableRenderLoop(int) 0x298
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #31 0x729a57a6e8 0x729a57a6e8 (libunity.so) RenderManager::RenderCameras(int, void (*)(), void (*)()) 0x38
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #32 0x7299a2c714 0x7299a2c714 (libunity.so) PlayerRender(bool) 0x2cc
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #33 0x7299a2d85c 0x7299a2d85c (libunity.so) InitPlayerLoopCallbacks()::PostLateUpdateFinishFrameRenderingRegistrator::Forward() 0x44
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #34 0x7299a1c3fc 0x7299a1c3fc (libunity.so) ExecutePlayerLoop(NativePlayerLoopSystem*) 0x84
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #35 0x7299a1c43c 0x7299a1c43c (libunity.so) ExecutePlayerLoop(NativePlayerLoopSystem*) 0xc4
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #36 0x7299a1c730 0x7299a1c730 (libunity.so) PlayerLoop() 0x144
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #37 0x7299ec2040 0x7299ec2040 (libunity.so) UnityPlayerLoop() 0x3d0
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #38 0x7299ec3350 0x7299ec3350 (libunity.so) nativeRender(_JNIEnv*, _jobject*) 0x54
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #39 0x7333551e30 0x7333551e30 (libart.so) art_quick_generic_jni_trampoline 0x90
2024-04-22 17:23:21.243 17480-17501 Unity com.dev.indirecttest2 D #40 0x58c00d04 0x58c00d04 (memfd:jit-cache (deleted)) ? 0x0
2024-04-22 17:23:21.244 17480-17501 Unity com.dev.indirecttest2 E VULKAN: VALIDATION ERROR: Validation Error: [ VUID-vkResetFences-pFences-01123 ] Object 0: handle = 0xab64de0000000020, type
= VK_OBJECT_TYPE_FENCE; | MessageID = 0x68a5074e | vkResetFences(): pFences[0] (VkFence 0xab64de0000000020[]) is in use. The Vulkan spec states: Each element
of pFences must not be currently associated with any queue command that has not yet completed execution on that queue
(https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkResetFences-pFences-01123)
Objects:
#0: { type = VK_OBJECT_TYPE_FENCE, handle = 0xab64de0000000020 }
UnityEngine.Rendering.ScriptableRenderContext:Submit() (at \home\bokken\build\output\unity\unity\Runtime\Export\RenderPipeline\ScriptableRenderContext.cs:117)
UnityEngine.Rendering.Universal.UniversalRenderPipeline:RenderSingleCamera(ScriptableRenderContext, CameraData&) (at
.\Library\PackageCache\com.unity.render-pipelines.universal@16.0.6\Runtime\UniversalRenderPipeline.cs:798)
UnityEngine.Rendering.Universal.UniversalRend
2024-04-22 17:23:21.244 17480-17501 Unity com.dev.indirecttest2 D Vulkan validation error./Runtime/GfxDevice/vulkan/VKDebug.cpp:144
44
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #00 0x729a76d6e4 0x729a76d6e4 (libunity.so) vk::smile:ebugUtilsMessengerKHRDefaultCallback(VkDebugUtilsMessageSeverityFlagBitsEXT, unsigned
int, VkDebugUtilsMessengerCallbackDataEXT const*, void*) 0x20c
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #01 0x711c2fe130 0x711c2fe130 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #02 0x711ba71d50 0x711ba71d50 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #03 0x711ba9a020 0x711ba9a020 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #04 0x711bd0204c 0x711bd0204c (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #05 0x729a768824 0x729a768824 (libunity.so) vk::CommandBuffer::Begin(vk::CommandBuffer::Type, VkRenderPass_T*, VkFramebuffer_T*, unsigned int, unsigned
long, bool) 0xa4
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #06 0x729a7867b8 0x729a7867b8 (libunity.so) vk::TaskExecutor::ExecuteCommandbuffers(vk::CommandBuffer**, int) 0x154
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #07 0x729a784b10 0x729a784b10 (libunity.so) vk::TaskExecutor::smile:oFlush(VkFence_T*, VkSemaphore_T*, unsigned long, bool) 0x38
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #08 0x729a74fc00 0x729a74fc00 (libunity.so) GfxDeviceVK::SubmitCurrentCommandBuffers(VkSemaphore_T*, bool) 0x1a0
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #09 0x729a747cf8 0x729a747cf8 (libunity.so) GfxDeviceVKBase::EnsureCurrentCommandBuffer(vk::CommandBuffer::Type, bool) 0x7c
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #10 0x729a74277c 0x729a74277c (libunity.so) GfxDeviceVKBase::SetShadersThreadable(GpuProgram**, GpuProgramParameters const**, unsigned char
const* const*) 0x40
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #11 0x7299b3ee7c 0x7299b3ee7c (libunity.so) ShaderLab::ShaderState::ApplyShaderState(unsigned int, ShaderPropertySheet const*, ShaderPassContext
const&, keywords::LocalKeywordState const&, Shader const*, ShaderLab::Pass const*, DynamicBranchState*, ShaderLab::SubPrograms*, DeviceRenderStateBlock
const*, int, int, ShaderLab::Pass const*, ShaderLab::Pass const*) const 0x39c
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #12 0x7299b3ea7c 0x7299b3ea7c (libunity.so) ShaderLab::Pass::ApplyPass(unsigned int, ShaderPropertySheet
const*, DynamicBranchState*, ShaderPassContext&, keywords::LocalKeywordState const&, Shader const*, int, int, ShaderLab::GrabPasses
const*, ShaderLab::SubPrograms*, DeviceRenderStateBlock const*, ShaderLab::Pass const*, ShaderLab::Pass const*) 0xf0
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #13 0x729995faa8 0x729995faa8
(libunity.so) RenderingCommandBuffer::ExecuteCommandBufferWithState(ShaderPassContext&, RenderNodeQueue&, RenderingCommandBufferState*, unsigned
int, ComputeQueueType) const 0x24b4
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #14 0x729995cedc 0x729995cedc (libunity.so) RenderingCommandBuffer::ExecuteCommandBuffer(ShaderPassContext&, RenderNodeQueue&, unsigned
int, dynamic_array<std::__ndk1::pair<ShaderLab::FastPropertyName, RenderTexture*>, 0ul>*, ComputeQueueType, RenderTexture*) const 0x50
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #15 0x7299976324 0x7299976324 (libunity.so) ScriptableRenderContext::ExecuteScriptableRenderLoop() 0xa3c
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #16 0x7292eef4d8 0x7292eef4d8 (libil2cpp.so) ScriptableRenderContext_Submit_Internal_mAE1E99BDF4C4E5A0FD9A0147E460E25ABB84BF14 0x40
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #17 0x7292ef24e0 0x7292ef24e0 (libil2cpp.so) ScriptableRenderContext_Submit_mF417223097ECEB2768EE736BE00A7F94DA3BDD26 0x138
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #18 0x7292ad9b40 0x7292ad9b40 (libil2cpp.so) UniversalRenderPipeline_RenderSingleCamera_m4886F9EF5EEF5C6A85E28E8A0D5E8CCC7809B49C 0x363c
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #19 0x7292acf8a8 0x7292acf8a8 (libil2cpp.so) UniversalRenderPipeline_RenderCameraStack_m47BBC0B4111D83BB6EE3275C9572BFBF2F5451B9 0x3fbc
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #20 0x7292ac8f08 0x7292ac8f08 (libil2cpp.so) UniversalRenderPipeline_Render_m15A42AB44C14AB4DCA7EF0B915964D46B643D50E 0x1140
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #21 0x7292ac7db8 0x7292ac7db8
(libil2cpp.so) VirtualActionInvoker2<ScriptableRenderContext_t5AB09B3602BEB456E0DC3D53926D3A3BDAF08E36, List_1_tD2FA3273746E404D72561E8324608D18B52B533E*>::Invoke(unsigned
short, Il2CppObject*, ScriptableRenderContext_t5AB09B3602BEB456E0DC3D53926D3A3BDAF08E36, List_1_tD2FA3273746E404D72561E8324608D18B52B533E*) 0x50
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #22 0x7292edd804 0x7292edd804 (libil2cpp.so) RenderPipeline_InternalRender_mCB77395158F4572F348D8227BA9127ABF1C9C5BE 0x324
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #23 0x7292ee5144 0x7292ee5144 (libil2cpp.so) RenderPipelineManager_DoRenderLoop_Internal_mB646C8738F4A9859101F3BE94809E2E10BBDB1FB 0x60c
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #24 0x7290e87c78 0x7290e87c78 (libil2cpp.so) RuntimeInvoker_FalseVoid_t4861ACF8F4594C3437BB48B6E56783494B843915_RuntimeObject_IntPtr_t_RuntimeObject(void
(*)(), MethodInfo const*, void*, void**, void*) 0x44
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #25 0x7293e7a810 0x7293e7a810 (libil2cpp.so) il2cpp::vm::Runtime::InvokeWithThrow(MethodInfo const*, void*, void**) 0x58
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #26 0x7293e7a75c 0x7293e7a75c (libil2cpp.so) il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**) 0xb0
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #27 0x7293d2fd68 0x7293d2fd68 (libil2cpp.so) il2cpp_runtime_invoke 0x2c
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #28 0x7299dd41a0 0x7299dd41a0
(libunity.so) scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool) 0xb0
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #29 0x7299de87fc 0x7299de87fc (libunity.so) ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool) 0x88
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #30 0x7299efbe60 0x7299efbe60
(libunity.so) Scripting::UnityEngine::Rendering::RenderPipelineManagerProxy::smile:oRenderLoop_Internal(ScriptingObjectPtr, void*, Scripting::UnityEngine::ObjectProxy, ScriptingExceptionPtr*) 0x78
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #31 0x7299976ae4 0x7299976ae4 (libunity.so) ScriptableRenderContext::ExtractAndExecuteRenderPipeline(dynamic_array<Camera*, 0ul> const&, void (*)(SceneNode
const*, AABB const*, IndexList&, SceneCullingParameters const*), void*, ScriptingObjectPtr) 0x130
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #32 0x729a57a174 0x729a57a174 (libunity.so) RenderManager::RenderCamerasWithScriptableRenderLoop(int) 0x298
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #33 0x729a57a6e8 0x729a57a6e8 (libunity.so) RenderManager::RenderCameras(int, void (*)(), void (*)()) 0x38
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #34 0x7299a2c714 0x7299a2c714 (libunity.so) PlayerRender(bool) 0x2cc
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #35 0x7299a2d85c 0x7299a2d85c (libunity.so) InitPlayerLoopCallbacks()::PostLateUpdateFinishFrameRenderingRegistrator::Forward() 0x44
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #36 0x7299a1c3fc 0x7299a1c3fc (libunity.so) ExecutePlayerLoop(NativePlayerLoopSystem*) 0x84
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #37 0x7299a1c43c 0x7299a1c43c (libunity.so) ExecutePlayerLoop(NativePlayerLoopSystem*) 0xc4
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #38 0x7299a1c730 0x7299a1c730 (libunity.so) PlayerLoop() 0x144
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #39 0x7299ec2040 0x7299ec2040 (libunity.so) UnityPlayerLoop() 0x3d0
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #40 0x7299ec3350 0x7299ec3350 (libunity.so) nativeRender(_JNIEnv*, _jobject*) 0x54
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #41 0x7333551e30 0x7333551e30 (libart.so) art_quick_generic_jni_trampoline 0x90
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 D #42 0x58c00d04 0x58c00d04 (memfd:jit-cache (deleted)) ? 0x0
2024-04-22 17:23:21.245 17480-17501 Unity com.dev.indirecttest2 E VULKAN: VALIDATION ERROR: Validation Error: [ VUID-vkBeginCommandBuffer-commandBuffer-00049 ] Object 0: handle = 0xb400007345e64530, type
= VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x84029a9f | vkBeginCommandBuffer(): on active VkCommandBuffer 0xb400007345e64530[] before it has
completed. You must check command buffer fence before this call. The Vulkan spec states: commandBuffer must not be in the recording or pending state
(https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkBeginCommandBuffer-commandBuffer-00049)
Objects:
#0: { type = VK_OBJECT_TYPE_COMMAND_BUFFER, handle = 0xb400007345e64530 }
UnityEngine.Rendering.ScriptableRenderContext:Submit() (at \home\bokken\build\output\unity\unity\Runtime\Export\RenderPipeline\ScriptableRenderContext.cs:117)
UnityEngine.Rendering.Universal.UniversalRenderPipeline:RenderSingleCamera(ScriptableRenderContext, CameraData&) (at
.\Library\PackageCache\com.unity.render-pipelines.universal@16.0.6\Runtime\UniversalRenderPipeline
2024-04-22 17:23:21.246 17480-17501 Unity com.dev.indirecttest2 D Vulkan validation error./Runtime/GfxDevice/vulkan/VKDebug.cpp:144
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #00 0x729a76d6e4 0x729a76d6e4 (libunity.so) vk::smile:ebugUtilsMessengerKHRDefaultCallback(VkDebugUtilsMessageSeverityFlagBitsEXT, unsigned
int, VkDebugUtilsMessengerCallbackDataEXT const*, void*) 0x20c
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #01 0x711c2fe130 0x711c2fe130 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #02 0x711ba71d50 0x711ba71d50 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #03 0x711bbc1218 0x711bbc1218 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #04 0x711bbc1808 0x711bbc1808 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #05 0x711bbbe090 0x711bbbe090 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #06 0x711bbbce04 0x711bbbce04 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #07 0x711bcf5b20 0x711bcf5b20 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #08 0x729a784cec 0x729a784cec (libunity.so) vk::TaskExecutor::smile:oFlush(VkFence_T*, VkSemaphore_T*, unsigned long, bool) 0x214
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #09 0x729a74fc00 0x729a74fc00 (libunity.so) GfxDeviceVK::SubmitCurrentCommandBuffers(VkSemaphore_T*, bool) 0x1a0
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #10 0x729a747cf8 0x729a747cf8 (libunity.so) GfxDeviceVKBase::EnsureCurrentCommandBuffer(vk::CommandBuffer::Type, bool) 0x7c
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #11 0x729a74277c 0x729a74277c (libunity.so) GfxDeviceVKBase::SetShadersThreadable(GpuProgram**, GpuProgramParameters const**, unsigned char
const* const*) 0x40
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #12 0x7299b3ee7c 0x7299b3ee7c (libunity.so) ShaderLab::ShaderState::ApplyShaderState(unsigned int, ShaderPropertySheet const*, ShaderPassContext
const&, keywords::LocalKeywordState const&, Shader const*, ShaderLab::Pass const*, DynamicBranchState*, ShaderLab::SubPrograms*, DeviceRenderStateBlock
const*, int, int, ShaderLab::Pass const*, ShaderLab::Pass const*) const 0x39c
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #13 0x7299b3ea7c 0x7299b3ea7c (libunity.so) ShaderLab::Pass::ApplyPass(unsigned int, ShaderPropertySheet
const*, DynamicBranchState*, ShaderPassContext&, keywords::LocalKeywordState const&, Shader const*, int, int, ShaderLab::GrabPasses
const*, ShaderLab::SubPrograms*, DeviceRenderStateBlock const*, ShaderLab::Pass const*, ShaderLab::Pass const*) 0xf0
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #14 0x729995faa8 0x729995faa8
(libunity.so) RenderingCommandBuffer::ExecuteCommandBufferWithState(ShaderPassContext&, RenderNodeQueue&, RenderingCommandBufferState*, unsigned
int, ComputeQueueType) const 0x24b4
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #15 0x729995cedc 0x729995cedc (libunity.so) RenderingCommandBuffer::ExecuteCommandBuffer(ShaderPassContext&, RenderNodeQueue&, unsigned
int, dynamic_array<std::__ndk1::pair<ShaderLab::FastPropertyName, RenderTexture*>, 0ul>*, ComputeQueueType, RenderTexture*) const 0x50
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #16 0x7299976324 0x7299976324 (libunity.so) ScriptableRenderContext::ExecuteScriptableRenderLoop() 0xa3c
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #17 0x7292eef4d8 0x7292eef4d8 (libil2cpp.so) ScriptableRenderContext_Submit_Internal_mAE1E99BDF4C4E5A0FD9A0147E460E25ABB84BF14 0x40
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #18 0x7292ef24e0 0x7292ef24e0 (libil2cpp.so) ScriptableRenderContext_Submit_mF417223097ECEB2768EE736BE00A7F94DA3BDD26 0x138
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #19 0x7292ad9b40 0x7292ad9b40 (libil2cpp.so) UniversalRenderPipeline_RenderSingleCamera_m4886F9EF5EEF5C6A85E28E8A0D5E8CCC7809B49C 0x363c
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #20 0x7292acf8a8 0x7292acf8a8 (libil2cpp.so) UniversalRenderPipeline_RenderCameraStack_m47BBC0B4111D83BB6EE3275C9572BFBF2F5451B9 0x3fbc
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #21 0x7292ac8f08 0x7292ac8f08 (libil2cpp.so) UniversalRenderPipeline_Render_m15A42AB44C14AB4DCA7EF0B915964D46B643D50E 0x1140
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #22 0x7292ac7db8 0x7292ac7db8
(libil2cpp.so) VirtualActionInvoker2<ScriptableRenderContext_t5AB09B3602BEB456E0DC3D53926D3A3BDAF08E36, List_1_tD2FA3273746E404D72561E8324608D18B52B533E*>::Invoke(unsigned
short, Il2CppObject*, ScriptableRenderContext_t5AB09B3602BEB456E0DC3D53926D3A3BDAF08E36, List_1_tD2FA3273746E404D72561E8324608D18B52B533E*) 0x50
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #23 0x7292edd804 0x7292edd804 (libil2cpp.so) RenderPipeline_InternalRender_mCB77395158F4572F348D8227BA9127ABF1C9C5BE 0x324
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #24 0x7292ee5144 0x7292ee5144 (libil2cpp.so) RenderPipelineManager_DoRenderLoop_Internal_mB646C8738F4A9859101F3BE94809E2E10BBDB1FB 0x60c
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #25 0x7290e87c78 0x7290e87c78 (libil2cpp.so) RuntimeInvoker_FalseVoid_t4861ACF8F4594C3437BB48B6E56783494B843915_RuntimeObject_IntPtr_t_RuntimeObject(void
(*)(), MethodInfo const*, void*, void**, void*) 0x44
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #26 0x7293e7a810 0x7293e7a810 (libil2cpp.so) il2cpp::vm::Runtime::InvokeWithThrow(MethodInfo const*, void*, void**) 0x58
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #27 0x7293e7a75c 0x7293e7a75c (libil2cpp.so) il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**) 0xb0
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #28 0x7293d2fd68 0x7293d2fd68 (libil2cpp.so) il2cpp_runtime_invoke 0x2c
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #29 0x7299dd41a0 0x7299dd41a0
(libunity.so) scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool) 0xb0
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #30 0x7299de87fc 0x7299de87fc (libunity.so) ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool) 0x88
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #31 0x7299efbe60 0x7299efbe60
(libunity.so) Scripting::UnityEngine::Rendering::RenderPipelineManagerProxy::smile:oRenderLoop_Internal(ScriptingObjectPtr, void*, Scripting::UnityEngine::ObjectProxy, ScriptingExceptionPtr*) 0x78
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #32 0x7299976ae4 0x7299976ae4 (libunity.so) ScriptableRenderContext::ExtractAndExecuteRenderPipeline(dynamic_array<Camera*, 0ul> const&, void (*)(SceneNode
const*, AABB const*, IndexList&, SceneCullingParameters const*), void*, ScriptingObjectPtr) 0x130
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #33 0x729a57a174 0x729a57a174 (libunity.so) RenderManager::RenderCamerasWithScriptableRenderLoop(int) 0x298
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #34 0x729a57a6e8 0x729a57a6e8 (libunity.so) RenderManager::RenderCameras(int, void (*)(), void (*)()) 0x38
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #35 0x7299a2c714 0x7299a2c714 (libunity.so) PlayerRender(bool) 0x2cc
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #36 0x7299a2d85c 0x7299a2d85c (libunity.so) InitPlayerLoopCallbacks()::PostLateUpdateFinishFrameRenderingRegistrator::Forward() 0x44
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #37 0x7299a1c3fc 0x7299a1c3fc (libunity.so) ExecutePlayerLoop(NativePlayerLoopSystem*) 0x84
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #38 0x7299a1c43c 0x7299a1c43c (libunity.so) ExecutePlayerLoop(NativePlayerLoopSystem*) 0xc4
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #39 0x7299a1c730 0x7299a1c730 (libunity.so) PlayerLoop() 0x144
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #40 0x7299ec2040 0x7299ec2040 (libunity.so) UnityPlayerLoop() 0x3d0
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #41 0x7299ec3350 0x7299ec3350 (libunity.so) nativeRender(_JNIEnv*, _jobject*) 0x54
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #42 0x7333551e30 0x7333551e30 (libart.so) art_quick_generic_jni_trampoline 0x90
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 D #43 0x58c00d04 0x58c00d04 (memfd:jit-cache (deleted)) ? 0x0
2024-04-22 17:23:21.247 17480-17501 Unity com.dev.indirecttest2 E VULKAN: VALIDATION ERROR: Validation Error: [ VUID-vkQueueSubmit-pCommandBuffers-00071 ] | MessageID = 0x2e2f4d65
| vkQueueSubmit(): pSubmits[0].pCommandBuffers[0] VkCommandBuffer 0xb400007345e64530[] is already in use and is not marked for simultaneous use. The Vulkan
spec states: If any element of the pCommandBuffers member of any element of pSubmits was not recorded with the VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, it
must not be in the pending state (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkQueueSubmit-pCommandBuffers-00071)
UnityEngine.Rendering.ScriptableRenderContext:Submit() (at \home\bokken\build\output\unity\unity\Runtime\Export\RenderPipeline\ScriptableRenderContext.cs:117)
UnityEngine.Rendering.Universal.UniversalRenderPipeline:RenderSingleCamera(ScriptableRenderContext, CameraData&) (at
.\Library\PackageCache\com.unity.render-pipelines.universal@16.0.6\Runtime\UniversalRenderPipeline.cs:798)
UnityEngine.Rendering.Universal.UniversalRenderPipeline
2024-04-22 17:23:21.248 17480-17501 Unity com.dev.indirecttest2 D Vulkan validation error./Runtime/GfxDevice/vulkan/VKDebug.cpp:144
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #00 0x729a76d6e4 0x729a76d6e4 (libunity.so) vk::smile:ebugUtilsMessengerKHRDefaultCallback(VkDebugUtilsMessageSeverityFlagBitsEXT, unsigned
int, VkDebugUtilsMessengerCallbackDataEXT const*, void*) 0x20c
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #01 0x711c2fe130 0x711c2fe130 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #02 0x711ba71d50 0x711ba71d50 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #03 0x711bc909bc 0x711bc909bc (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #04 0x711bc90ba0 0x711bc90ba0 (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #05 0x711bd1a78c 0x711bd1a78c (libVkLayer_khronos_validation.so) ? 0x0
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #06 0x729a7b1c58 0x729a7b1c58 (libunity.so) vk::OnscreenSwapChain::AcquireNextImage(vk::FrameTracking&, unsigned long, unsigned
int*, fixed_array<VkSemaphore_T*, 2ul>*) 0x74
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #07 0x729a7518b8 0x729a7518b8 (libunity.so) GfxDeviceVK::AdvanceImageInternal(vk::SwapChainBase&, bool&) 0x60
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #08 0x729a7b1a6c 0x729a7b1a6c (libunity.so) vk::OnscreenSwapChain::GetBackBufferImage(bool&, bool) 0x3c
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #09 0x729a7b12ec 0x729a7b12ec (libunity.so) vk::PresentationSurface::GetBackBufferImage(bool) 0x28
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #10 0x729a7529bc 0x729a7529bc (libunity.so) GfxDeviceVK::EnsureValidBackbuffer(vk::PresentationSurface*) 0x38
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #11 0x729a7790a8 0x729a7790a8 (libunity.so) vk::RenderPassSwitcher::InternalApply(vk::CommandBuffer*) 0x94
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #12 0x729a747e68 0x729a747e68 (libunity.so) GfxDeviceVKBase::EnsureCurrentCommandBuffer(vk::CommandBuffer::Type, bool) 0x1ec
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #13 0x729a74277c 0x729a74277c (libunity.so) GfxDeviceVKBase::SetShadersThreadable(GpuProgram**, GpuProgramParameters const**, unsigned char
const* const*) 0x40
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #14 0x7299b3ee7c 0x7299b3ee7c (libunity.so) ShaderLab::ShaderState::ApplyShaderState(unsigned int, ShaderPropertySheet const*, ShaderPassContext
const&, keywords::LocalKeywordState const&, Shader const*, ShaderLab::Pass const*, DynamicBranchState*, ShaderLab::SubPrograms*, DeviceRenderStateBlock
const*, int, int, ShaderLab::Pass const*, ShaderLab::Pass const*) const 0x39c
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #15 0x7299b3ea7c 0x7299b3ea7c (libunity.so) ShaderLab::Pass::ApplyPass(unsigned int, ShaderPropertySheet
const*, DynamicBranchState*, ShaderPassContext&, keywords::LocalKeywordState const&, Shader const*, int, int, ShaderLab::GrabPasses
const*, ShaderLab::SubPrograms*, DeviceRenderStateBlock const*, ShaderLab::Pass const*, ShaderLab::Pass const*) 0xf0
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #16 0x729995faa8 0x729995faa8
(libunity.so) RenderingCommandBuffer::ExecuteCommandBufferWithState(ShaderPassContext&, RenderNodeQueue&, RenderingCommandBufferState*, unsigned
int, ComputeQueueType) const 0x24b4
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #17 0x729995cedc 0x729995cedc (libunity.so) RenderingCommandBuffer::ExecuteCommandBuffer(ShaderPassContext&, RenderNodeQueue&, unsigned
int, dynamic_array<std::__ndk1::pair<ShaderLab::FastPropertyName, RenderTexture*>, 0ul>*, ComputeQueueType, RenderTexture*) const 0x50
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #18 0x7299976324 0x7299976324 (libunity.so) ScriptableRenderContext::ExecuteScriptableRenderLoop() 0xa3c
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #19 0x7292eef4d8 0x7292eef4d8 (libil2cpp.so) ScriptableRenderContext_Submit_Internal_mAE1E99BDF4C4E5A0FD9A0147E460E25ABB84BF14 0x40
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #20 0x7292ef24e0 0x7292ef24e0 (libil2cpp.so) ScriptableRenderContext_Submit_mF417223097ECEB2768EE736BE00A7F94DA3BDD26 0x138
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #21 0x7292ad9b40 0x7292ad9b40 (libil2cpp.so) UniversalRenderPipeline_RenderSingleCamera_m4886F9EF5EEF5C6A85E28E8A0D5E8CCC7809B49C 0x363c
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #22 0x7292acf8a8 0x7292acf8a8 (libil2cpp.so) UniversalRenderPipeline_RenderCameraStack_m47BBC0B4111D83BB6EE3275C9572BFBF2F5451B9 0x3fbc
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #23 0x7292ac8f08 0x7292ac8f08 (libil2cpp.so) UniversalRenderPipeline_Render_m15A42AB44C14AB4DCA7EF0B915964D46B643D50E 0x1140
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #24 0x7292ac7db8 0x7292ac7db8
(libil2cpp.so) VirtualActionInvoker2<ScriptableRenderContext_t5AB09B3602BEB456E0DC3D53926D3A3BDAF08E36, List_1_tD2FA3273746E404D72561E8324608D18B52B533E*>::Invoke(unsigned
short, Il2CppObject*, ScriptableRenderContext_t5AB09B3602BEB456E0DC3D53926D3A3BDAF08E36, List_1_tD2FA3273746E404D72561E8324608D18B52B533E*) 0x50
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #25 0x7292edd804 0x7292edd804 (libil2cpp.so) RenderPipeline_InternalRender_mCB77395158F4572F348D8227BA9127ABF1C9C5BE 0x324
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #26 0x7292ee5144 0x7292ee5144 (libil2cpp.so) RenderPipelineManager_DoRenderLoop_Internal_mB646C8738F4A9859101F3BE94809E2E10BBDB1FB 0x60c
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #27 0x7290e87c78 0x7290e87c78 (libil2cpp.so) RuntimeInvoker_FalseVoid_t4861ACF8F4594C3437BB48B6E56783494B843915_RuntimeObject_IntPtr_t_RuntimeObject(void
(*)(), MethodInfo const*, void*, void**, void*) 0x44
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #28 0x7293e7a810 0x7293e7a810 (libil2cpp.so) il2cpp::vm::Runtime::InvokeWithThrow(MethodInfo const*, void*, void**) 0x58
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #29 0x7293e7a75c 0x7293e7a75c (libil2cpp.so) il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**) 0xb0
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #30 0x7293d2fd68 0x7293d2fd68 (libil2cpp.so) il2cpp_runtime_invoke 0x2c
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #31 0x7299dd41a0 0x7299dd41a0
(libunity.so) scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool) 0xb0
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #32 0x7299de87fc 0x7299de87fc (libunity.so) ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool) 0x88
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #33 0x7299efbe60 0x7299efbe60
(libunity.so) Scripting::UnityEngine::Rendering::RenderPipelineManagerProxy::smile:oRenderLoop_Internal(ScriptingObjectPtr, void*, Scripting::UnityEngine::ObjectProxy, ScriptingExceptionPtr*) 0x78
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #34 0x7299976ae4 0x7299976ae4 (libunity.so) ScriptableRenderContext::ExtractAndExecuteRenderPipeline(dynamic_array<Camera*, 0ul> const&, void (*)(SceneNode
const*, AABB const*, IndexList&, SceneCullingParameters const*), void*, ScriptingObjectPtr) 0x130
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #35 0x729a57a174 0x729a57a174 (libunity.so) RenderManager::RenderCamerasWithScriptableRenderLoop(int) 0x298
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #36 0x729a57a6e8 0x729a57a6e8 (libunity.so) RenderManager::RenderCameras(int, void (*)(), void (*)()) 0x38
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #37 0x7299a2c714 0x7299a2c714 (libunity.so) PlayerRender(bool) 0x2cc
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #38 0x7299a2d85c 0x7299a2d85c (libunity.so) InitPlayerLoopCallbacks()::PostLateUpdateFinishFrameRenderingRegistrator::Forward() 0x44
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #39 0x7299a1c3fc 0x7299a1c3fc (libunity.so) ExecutePlayerLoop(NativePlayerLoopSystem*) 0x84
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #40 0x7299a1c43c 0x7299a1c43c (libunity.so) ExecutePlayerLoop(NativePlayerLoopSystem*) 0xc4
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #41 0x7299a1c730 0x7299a1c730 (libunity.so) PlayerLoop() 0x144
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #42 0x7299ec2040 0x7299ec2040 (libunity.so) UnityPlayerLoop() 0x3d0
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #43 0x7299ec3350 0x7299ec3350 (libunity.so) nativeRender(_JNIEnv*, _jobject*) 0x54
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #44 0x7333551e30 0x7333551e30 (libart.so) art_quick_generic_jni_trampoline 0x90
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 D #45 0x58c00d04 0x58c00d04 (memfd:jit-cache (deleted)) ? 0x0
2024-04-22 17:23:21.251 17480-17501 Unity com.dev.indirecttest2 E VULKAN: VALIDATION ERROR: Validation Error: [ VUID-vkAcquireNextImageKHR-semaphore-01779 ] Object 0: handle = 0x5a1e20000000248, type
= VK_OBJECT_TYPE_SEMAPHORE; | MessageID = 0x5717e75b | vkAcquireNextImageKHR(): Semaphore must not have any pending operations. The Vulkan spec states: If
semaphore is not VK_NULL_HANDLE it must not have any uncompleted signal or wait operations pending
(https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkAcquireNextImageKHR-semaphore-01779)
Objects:
#0: { type = VK_OBJECT_TYPE_SEMAPHORE, handle = 0x5a1e20000000248 }
UnityEngine.Rendering.ScriptableRenderContext:Submit() (at \home\bokken\build\output\unity\unity\Runtime\Export\RenderPipeline\ScriptableRenderContext.cs:117)
UnityEngine.Rendering.Universal.UniversalRenderPipeline:RenderSingleCamera(ScriptableRenderContext, CameraData&) (at
.\Library\PackageCache\com.unity.render-pipelines.universal@16.0.6\Runtime\UniversalRenderPipeline.cs:798)
UnityEngine.Rendering.Universal.UniversalRen
2024-04-22 17:23:21.253 17480-17501 Unity com.dev.indirecttest2 D Vulkan validation error./Runtime/GfxDevice/vulkan/VKDebug.cpp:144
Vulkan-API-calls failing validation include vkResetCommandPool(), vkResetFences(), vkBeginCommandBuffer(), vkQueueSubmit(), vkAcquireNextImageKHR(). There doesn’t seem to be an initial error message, the rendering just freezes and I’ll get spammed with these messages until I close the app. I also tried disabling the compute shader again (via debugger), but the errors keep on coming. Again, this doesn’t happen every time I start the App, in fact most of the time, everything runs fine, and the compute shader does what it’s supposed to do. But “most of the time” isn’t good enough. Of course I tried looking for similar cases, but no luck.
Finally, here’s some information on the compute shaders themselves:
The first compute shader runs without problems, a direct dispatch call with a single workgroup, to calculate the workgroups for the second shader:
//this cbuffer is filled via CopyCount (from an appendBuffer)
cbuffer AppendInstanceCount
{
uint _AppendInstanceCount;
}
cbuffer OtherStuff
{
uint _MaxBoneCount;
}
#define BONECALC_GROUPSIZE 64
RWStructuredBuffer<uint> _boneArgsBuffer; //indirect args for the second compute shader
[numthreads(64,1,1)]
void SetWorkGroupCount(uint3 id : SV_DispatchThreadID)
{
if (id.x > 0)
return;
_boneArgsBuffer[0] = ceil((float)(_AppendInstanceCount * _MaxBoneCount) / BONECALC_GROUPSIZE);
_boneArgsBuffer[1] = 1;
_boneArgsBuffer[2] = 1;
}
The second compute shader is an indirect dispatch call using the indirect args buffer filled by the previous compute shader. It computes bone-matrices used for skinning.
float4x4 TRSScale(float3 t, float4 r, float3 s)
{
return float4x4(
(1.0 - 2.0 * (r.y * r.y + r.z * r.z)) * s.x,
(r.x * r.y - r.z * r.w) * s.y * 2.0,
(r.x * r.z + r.y * r.w) * s.z * 2.0,
t.x,
(r.x * r.y + r.z * r.w) * s.x * 2.0,
(1.0f - 2.0f * (r.x * r.x + r.z * r.z)) * s.y,
(r.y * r.z - r.x * r.w) * s.z * 2.0,
t.y,
(r.x * r.z - r.y * r.w) * s.x * 2.0,
(r.y * r.z + r.x * r.w) * s.y * 2.0,
(1.0 - 2.0 * (r.x * r.x + r.y * r.y)) * s.z,
t.z,
0.0,
0.0f,
0.0,
1.0
);
}
cbuffer AppendInstanceCount
{
uint _AppendInstanceCount;
}
cbuffer OtherStuff
{
uint _MaxBoneCount;
}
StructuredBuffer<BoneBlendingData> _BlendingData; //Length: InstanceCount
StructuredBuffer<float4x4> _Instances; //Length: InstanceCount
StructuredBuffer<BoneData> _Bones; //Length: TotalFrameCount of all clips * their BoneCount
RWStructuredBuffer<float4x4> _BoneMatrices; //Length: InstanceCount * _MaxBoneCount
StructuredBuffer<float4x4> _Bp; //Length: total BoneCount of all meshes
StructuredBuffer<uint> _InstanceIds; //Length: InstanceCount
groupshared float4x4 _instancesLocal[10];
groupshared BoneBlendingData _blendingDataLocal[10];
groupshared uint _baseInstanceOffset;
[numthreads(BONECALC_GROUPSIZE,1,1)]
void CalcBones(uint3 id : SV_DispatchThreadID, uint3 gid : SV_GroupThreadID) //id.x = boneIndex
{
uint baseInstanceId = id.x / _MaxBoneCount;
if (gid.x == 0)
{
_baseInstanceOffset = baseInstanceId;
}
GroupMemoryBarrierWithGroupSync();
uint instanceId = _InstanceIds[baseInstanceId];
uint localId = baseInstanceId - _baseInstanceOffset;
if (gid.x == 0)
{
_instancesLocal[0] = _Instances[instanceId];
_blendingDataLocal[0] = _BlendingData[instanceId];
}
else if (id.x % _MaxBoneCount == 0)
{
_instancesLocal[localId] = _Instances[instanceId];
_blendingDataLocal[localId] = _BlendingData[instanceId];
}
GroupMemoryBarrierWithGroupSync();
uint i = id.x - baseInstanceId * _MaxBoneCount;
BoneBlendingData blend = _blendingDataLocal[localId];
if(baseInstanceId >= _AppendInstanceCount)
{
return;
}
bool transition = blend.blendFinal > 0;
BoneData boneA1 = _Bones[blend.boneOffsetA1 + i];
BoneData boneA2 = _Bones[blend.boneOffsetA2 + i];
float3 positionA = lerp(boneA1.Position, boneA2.Position, blend.blendA);
float4 rotationA = lerp(boneA1.Rotation, boneA2.Rotation, blend.blendA);
float scaleA = lerp(boneA1.Scale, boneA2.Scale, blend.blendA);
float3 position;
float4 rotation;
float scale;
if (transition)
{
BoneData boneB1 = _Bones[blend.boneOffsetB1 + i];
BoneData boneB2 = _Bones[blend.boneOffsetB2 + i];
float3 positionB = lerp(boneB1.Position, boneB2.Position, blend.blendB);
float4 rotationB = lerp(boneB1.Rotation, boneB2.Rotation, blend.blendB);
float scaleB = lerp(boneB1.Scale, boneB2.Scale, blend.blendB);
position = lerp(positionA, positionB, blend.blendFinal);
rotation = lerp(rotationA, rotationB, blend.blendFinal);
scale = lerp(scaleA, scaleB, blend.blendFinal);
}
else
{
position = positionA;
rotation = rotationA;
scale = scaleA;
}
float4x4 mw = _instancesLocal[localId];
_BoneMatrices[instanceId * _MaxBoneCount + i] = mul(mw, mul(TRSScale(position, rotation, scale*100), _Bp[i + blend.bindPoseOffset]));
}
If you read this far, any input would be greatly appreciated, since I’m nearing my wits end here. Thanks in advance
PS: I’m testing on a Pixel 8 Pro, and built with several unity version (2022 lts, 2023.2), tried changing the vulkan-specific settings in the project settings, always the same errors. The project runs on URP, but that shouldn’t matter as I’m only using the Graphics-API. Also, the errors (and frozen rendering) happen even if I don’t execute the indirect rendering calls, where they are normally used.