vulkan: check if vulkan_blit_state is initialized and prepared

This commit is contained in:
columbarius 2023-09-24 23:41:08 +02:00
parent c76addabd6
commit b2766ad9ca

View file

@ -557,6 +557,14 @@ int spa_vulkan_blit_ready(struct vulkan_blit_state *s)
int spa_vulkan_blit_process(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(updateBuffers(s));
CHECK(runCommandBuffer(s)); CHECK(runCommandBuffer(s));
// CHECK(vulkan_wait_fence(&s->base, s->fence)); // 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, SPA_VIDEO_FORMAT_RGB,
}; };
vulkan_format_infos_init(&s->base, SPA_N_ELEMENTS(raw_formats), raw_formats, &s->formatInfosRaw); vulkan_format_infos_init(&s->base, SPA_N_ELEMENTS(raw_formats), raw_formats, &s->formatInfosRaw);
s->initialized = true;
return 0; 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->formatInfosRaw);
vulkan_format_infos_deinit(&s->formatInfosDSP); vulkan_format_infos_deinit(&s->formatInfosDSP);
vulkan_base_deinit(&s->base); vulkan_base_deinit(&s->base);
s->initialized = false;
} }