From c5534ffca743fc3f4c38772cc76a1c3772c898b7 Mon Sep 17 00:00:00 2001 From: nihui Date: Tue, 7 May 2024 11:31:08 +0800 Subject: [PATCH] fix create_pipeline crash in vulkan-enabled layer without calling load_param/load_model first (#5410) --- src/layer.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/layer.cpp b/src/layer.cpp index cca3e77bf1f..3c40cbd67ca 100644 --- a/src/layer.cpp +++ b/src/layer.cpp @@ -362,9 +362,16 @@ class Layer_final : public Layer #if NCNN_VULKAN if (layer_vulkan) { - int ret = layer_vulkan->create_pipeline(opt); - get_layer_properties(); - return ret; + if (vkdev) + { + int ret = layer_vulkan->create_pipeline(opt); + get_layer_properties(); + return ret; + } + + // fallback to cpu layer + delete layer_vulkan; + layer_vulkan = 0; } #endif // NCNN_VULKAN