whisper.cpp/ggml
Simao Gomes Viana d28a49b837
ggml-vulkan: graceful fallback on pipeline compilation failure
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.
2026-03-25 14:01:00 +01:00
..
cmake cmake : remove unused file (ggml/1419) 2026-02-08 09:29:10 +02:00
include ggml : restore ggml_type_sizef() to aboid major version bump (ggml/1441) 2026-03-18 15:18:24 +02:00
src ggml-vulkan: graceful fallback on pipeline compilation failure 2026-03-25 14:01:00 +01:00
.gitignore whisper : reorganize source code + improve CMake (#2256) 2024-06-26 19:34:09 +03:00
CMakeLists.txt ggml : bump version to 0.9.8 (ggml/1442) 2026-03-18 15:18:24 +02:00