Some Vulkan drivers (observed on Adreno, Qualcomm build 923a446bf8)
fail to compile compute shaders at runtime, reporting
"Failed to link shaders" and returning ErrorUnknown from
createComputePipeline. Previously this threw a C++ exception that
propagated as an uncaught abort, or the resulting null pipeline was
dispatched causing SIGSEGV:
AdrenoVK-0: Failed to link shaders.
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xe8
#01 ggml_vk_dispatch_pipeline<vk_mat_mat_push_constants>+360
#02 ggml_vk_mul_mat_q_f16+6616
#03 ggml_backend_vk_graph_compute+41780
Three changes:
1. ggml_vk_create_pipeline_func: catch the exception, increment
device->pipeline_failures, clean up the shader module, and return
instead of rethrowing. Also handle null pipeline after creation.
2. ggml_vk_dispatch_pipeline: early-return if the pipeline is null or
not compiled (safety net against dispatching broken pipelines).
3. ggml_backend_vk_device_supports_op: return false for all ops when
pipeline_failures > 0, causing the backend scheduler to route
everything to the CPU backend. The GPU is still used for buffer
allocation but all compute runs on CPU.