Hi andreyogld3d,
Regarding a possible shader compilation failure, it would lead to a graphics pipeline creation error, unless the shader compilation fails silently which is unlikely.
Just in case I extracted the vertex and fragment shaders used in the only two draw calls in the app you are testing, vkCmdDrawIndexed(24576, 1) and vkCmdDrawIndexed(6, 570). I tested all four with our offline shader compilers (which are now public by the way, you can get them from the Profiling Compilers download in Downloads - Imagination Developers ). I was able to compile the shaders with no problem. I used glslangValidator.exe from Vulkan 1.3.211.0 and target environment Vulkan 1.1
glslangValidator.exe --target-env vulkan1.1 -V vertex_shader_0.vert -o vertex_shader_0.spv
# BVNC GPU HW indentificator 24.50.208.504 is Series 9 XM GM9445, MT6779 Helio P90
ProfilingCompilerCLIWrapper.exe -a spv -b 24.50.208.504 -i vertex_shader_0.spv . -x -t v
Since I cannot seem to reproduce the issue even with a quite close driver version, I would say something else is involved. One case could be numerical precission affecting the conditions to exit the while loop.
I would recommend to follow an incremental approach. For the vkCmdDrawIndexed(24576, 1) draw call I would follow the steps below, trying to identify at what point the issue happens so it can be related to the latest code fragments added:
- Start with a plain color fragment shader.
- Use just one of the two textures combined in the shader.
- Use the two textures.
- Add the shadow mapping part.
Please let me know if after those steps you still do not get the issue identified.
Best regards,
Alejandro