diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index bf80f5dfb..32a61d2c0 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -3286,7 +3286,12 @@ static vk_device ggml_vk_get_device(size_t idx) { const char* GGML_VK_DISABLE_HOST_VISIBLE_VIDMEM = getenv("GGML_VK_DISABLE_HOST_VISIBLE_VIDMEM"); //device->disable_host_visible_vidmem = GGML_VK_DISABLE_HOST_VISIBLE_VIDMEM != nullptr; - device->disable_host_visible_vidmem = true; //kcpp requested fix for vulkan BSOD + vk::PhysicalDeviceProperties tmpprops = device->physical_device.getProperties(); + if(tmpprops.vendorID == VK_VENDOR_ID_NVIDIA) + { + printf("Apply NVIDIA Anti-BSOD Fix for KCPP\n"); + device->disable_host_visible_vidmem = true; //kcpp requested fix for vulkan BSOD on Nvidia + } bool fp16_storage = false; bool fp16_compute = false;