diff --git a/spa/plugins/vulkan/vulkan-blit-utils.c b/spa/plugins/vulkan/vulkan-blit-utils.c index fd738ca11..4cda26458 100644 --- a/spa/plugins/vulkan/vulkan-blit-utils.c +++ b/spa/plugins/vulkan/vulkan-blit-utils.c @@ -557,6 +557,14 @@ int spa_vulkan_blit_ready(struct vulkan_blit_state *s) int spa_vulkan_blit_process(struct vulkan_blit_state *s) { + if (!s->initialized) { + spa_log_warn(s->log, "Renderer not initialized"); + return -1; + } + if (!s->prepared) { + spa_log_warn(s->log, "Renderer not prepared"); + return -1; + } CHECK(updateBuffers(s)); CHECK(runCommandBuffer(s)); // CHECK(vulkan_wait_fence(&s->base, s->fence)); @@ -618,6 +626,7 @@ int spa_vulkan_blit_init(struct vulkan_blit_state *s) SPA_VIDEO_FORMAT_RGB, }; vulkan_format_infos_init(&s->base, SPA_N_ELEMENTS(raw_formats), raw_formats, &s->formatInfosRaw); + s->initialized = true; return 0; } @@ -626,4 +635,5 @@ void spa_vulkan_blit_deinit(struct vulkan_blit_state *s) vulkan_format_infos_deinit(&s->formatInfosRaw); vulkan_format_infos_deinit(&s->formatInfosDSP); vulkan_base_deinit(&s->base); + s->initialized = false; }