summaryrefslogtreecommitdiff
path: root/pkg/mpv/patch/0003-video-out-gpu-Prevent-empty-array-when-no-compilers-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/mpv/patch/0003-video-out-gpu-Prevent-empty-array-when-no-compilers-.patch')
-rw-r--r--pkg/mpv/patch/0003-video-out-gpu-Prevent-empty-array-when-no-compilers-.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/pkg/mpv/patch/0003-video-out-gpu-Prevent-empty-array-when-no-compilers-.patch b/pkg/mpv/patch/0003-video-out-gpu-Prevent-empty-array-when-no-compilers-.patch
new file mode 100644
index 00000000..d3b7be6b
--- /dev/null
+++ b/pkg/mpv/patch/0003-video-out-gpu-Prevent-empty-array-when-no-compilers-.patch
@@ -0,0 +1,72 @@
+From 30a85ce789cd15dedd7abd60ed36f74212068a31 Mon Sep 17 00:00:00 2001
+From: Michael Forney <mforney@mforney.org>
+Date: Wed, 3 Jul 2019 02:21:16 -0700
+Subject: [PATCH] video/out/gpu: Prevent empty array when no compilers or
+ contexts are enabled
+
+---
+ video/out/gpu/context.c | 9 +++++----
+ video/out/gpu/spirv.c | 1 +
+ 2 files changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/video/out/gpu/context.c b/video/out/gpu/context.c
+index 9561b534d8..f73d0674be 100644
+--- a/video/out/gpu/context.c
++++ b/video/out/gpu/context.c
+@@ -108,6 +108,7 @@ static const struct ra_ctx_fns *contexts[] = {
+ #endif
+
+ #endif
++ NULL
+ };
+
+ int ra_ctx_validate_api(struct mp_log *log, const struct m_option *opt,
+@@ -122,7 +123,7 @@ int ra_ctx_validate_api(struct mp_log *log, const struct m_option *opt,
+ }
+ if (bstr_equals0(param, "auto"))
+ return 1;
+- for (int i = 0; i < MP_ARRAY_SIZE(contexts); i++) {
++ for (int i = 0; i < MP_ARRAY_SIZE(contexts) - 1; i++) {
+ if (bstr_equals0(param, contexts[i]->type))
+ return 1;
+ }
+@@ -135,13 +136,13 @@ int ra_ctx_validate_context(struct mp_log *log, const struct m_option *opt,
+ if (bstr_equals0(param, "help")) {
+ mp_info(log, "GPU contexts (APIs):\n");
+ mp_info(log, " auto (autodetect)\n");
+- for (int n = 0; n < MP_ARRAY_SIZE(contexts); n++)
++ for (int n = 0; n < MP_ARRAY_SIZE(contexts) - 1; n++)
+ mp_info(log, " %s (%s)\n", contexts[n]->name, contexts[n]->type);
+ return M_OPT_EXIT;
+ }
+ if (bstr_equals0(param, "auto"))
+ return 1;
+- for (int i = 0; i < MP_ARRAY_SIZE(contexts); i++) {
++ for (int i = 0; i < MP_ARRAY_SIZE(contexts) - 1; i++) {
+ if (bstr_equals0(param, contexts[i]->name))
+ return 1;
+ }
+@@ -166,7 +167,7 @@ struct ra_ctx *ra_ctx_create(struct vo *vo, const char *context_type,
+ bool old_probing = vo->probing;
+ vo->probing = opts.probing;
+
+- for (int i = 0; i < MP_ARRAY_SIZE(contexts); i++) {
++ for (int i = 0; i < MP_ARRAY_SIZE(contexts) - 1; i++) {
+ if (!opts.probing && strcmp(contexts[i]->name, context_name) != 0)
+ continue;
+ if (!api_auto && strcmp(contexts[i]->type, context_type) != 0)
+diff --git a/video/out/gpu/spirv.c b/video/out/gpu/spirv.c
+index ee11d601a3..87596ba5e3 100644
+--- a/video/out/gpu/spirv.c
++++ b/video/out/gpu/spirv.c
+@@ -16,6 +16,7 @@ static const struct spirv_compiler_fns *compilers[] = {
+ #if HAVE_SHADERC
+ [SPIRV_SHADERC] = &spirv_shaderc,
+ #endif
++ NULL
+ };
+
+ static const struct m_opt_choice_alternatives compiler_choices[] = {
+--
+2.23.0
+