aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLynne <dev@lynne.ee>2024-07-24 00:53:28 +0200
committerLynne <dev@lynne.ee>2024-08-11 05:13:12 +0200
commit2f7dfb0d157b680bca68bc9e57f7c3529fbfc0fe (patch)
tree49e4306a4f14e5114e72ffaf2429d9914e887d88
parent957d34784ad98cb342cd8b23f114b17094f92f5c (diff)
downloadffmpeg-2f7dfb0d157b680bca68bc9e57f7c3529fbfc0fe.tar.gz
vulkan_shaderc: fix error reporting for certain errors
The issue is that shaderc_result_get_num_errors may sometime return 0 even when shaderc_result_get_compilation_status returns a non-zero error code. Since we use the result from the former, override the status if it returned 0.
-rw-r--r--libavfilter/vulkan_shaderc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavfilter/vulkan_shaderc.c b/libavfilter/vulkan_shaderc.c
index 38be1030ad..455e81767e 100644
--- a/libavfilter/vulkan_shaderc.c
+++ b/libavfilter/vulkan_shaderc.c
@@ -65,6 +65,9 @@ static int shdc_shader_compile(FFVkSPIRVCompiler *ctx, void *avctx,
warn = shaderc_result_get_num_warnings(res);
message = shaderc_result_get_error_message(res);
+ if (ret != shaderc_compilation_status_success && !err)
+ err = 1;
+
loglevel = err ? AV_LOG_ERROR : warn ? AV_LOG_WARNING : AV_LOG_VERBOSE;
ff_vk_shader_print(avctx, shd, loglevel);