summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Bermond2017-09-22 12:22:26 -0300
committerDaniel Bermond2017-09-22 12:22:26 -0300
commit68cf414141e79ae55335d3f77fd9e13603e5d78f (patch)
treef6b5f93f36c34272db2fbe03374a48c1ca086667
parent9edb9182b9019fc542e676742f560855282b3d65 (diff)
downloadaur-68cf414141e79ae55335d3f77fd9e13603e5d78f.tar.gz
Removed support for multiple opengl backends due to compile error
The git master branch introduced code that broke the patch. And it is not supported by upstream anyway (pull request is still open). Removing it for now. References ---------- https://github.com/mpv-player/mpv/pull/4384
-rw-r--r--.SRCINFO6
-rw-r--r--0001-opengl-backend-support-multiple-backends.patch291
-rw-r--r--PKGBUILD13
3 files changed, 5 insertions, 305 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1cf2935f2941..d6162112391b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
# Generated by mksrcinfo v8
-# Wed Sep 13 20:24:45 UTC 2017
+# Fri Sep 22 15:21:35 UTC 2017
pkgbase = mpv-full-git
pkgdesc = A free, open source, and cross-platform media player (git version with all possible libs)
- pkgver = 0.27.0.r3.g2f41b834b3
+ pkgver = 0.27.0.r41.gfab0448c5e
pkgrel = 1
url = http://mpv.io/
arch = i686
@@ -39,9 +39,7 @@ pkgbase = mpv-full-git
conflicts = mpv-git
options = !emptydirs
source = mpv-full-git::git+https://github.com/mpv-player/mpv.git
- source = 0001-opengl-backend-support-multiple-backends.patch
sha256sums = SKIP
- sha256sums = 609e0530f1b0cdb910dcffb5f62bf55936540e24105ce1b2daf1bd6291a7d58a
depends_i686 = libcdio-paranoia
depends_i686 = libcaca
depends_i686 = smbclient
diff --git a/0001-opengl-backend-support-multiple-backends.patch b/0001-opengl-backend-support-multiple-backends.patch
deleted file mode 100644
index e96c608d5029..000000000000
--- a/0001-opengl-backend-support-multiple-backends.patch
+++ /dev/null
@@ -1,291 +0,0 @@
-From 9c397af0dabfff7177bcb76409af5b8f9ae608cf Mon Sep 17 00:00:00 2001
-From: Drew DeVault <sir@cmpwn.com>
-Date: Thu, 27 Apr 2017 17:19:58 -0400
-Subject: [PATCH 1/4] --opengl-backend: support multiple backends
-
-Will attempt each backend specified in order. The x11 backend is still
-preferred, even on Wayland, but the user can now use
---opengl-backend=wayland,x11 to prefer wayland and fall back to x11 if
-wayland is unavailable.
----
- video/out/opengl/context.c | 66 +++++++++++++++++++++++++++++++++++++++++-----
- video/out/opengl/context.h | 8 ++----
- video/out/vo_opengl.c | 7 +++--
- 3 files changed, 64 insertions(+), 17 deletions(-)
-
-diff --git a/video/out/opengl/context.c b/video/out/opengl/context.c
-index 72311e11fa..568bb662b8 100644
---- a/video/out/opengl/context.c
-+++ b/video/out/opengl/context.c
-@@ -89,6 +89,30 @@ static const struct mpgl_driver *const backends[] = {
- #endif
- };
-
-+static bool get_desc(struct m_obj_desc *dst, int index)
-+{
-+ if (index >= MP_ARRAY_SIZE(backends) - 1)
-+ return false;
-+ const struct mpgl_driver *driver = backends[index];
-+ *dst = (struct m_obj_desc) {
-+ .name = driver->name,
-+ .description = driver->name,
-+ .priv_size = sizeof(struct mpgl_driver),
-+ .p = driver,
-+ };
-+ return true;
-+}
-+
-+// for backend option
-+const struct m_obj_list mpgl_backend_list = {
-+ .get_desc = get_desc,
-+ .description = "OpenGL windowing backends",
-+ .allow_unknown_entries = true,
-+ .allow_disable_entries = true,
-+ .allow_trailer = true,
-+ .disallow_positional_parameters = true,
-+};
-+
- // 0-terminated list of desktop GL versions a backend should try to
- // initialize. The first entry is the most preferred version.
- const int mpgl_preferred_gl_versions[] = {
-@@ -100,7 +124,7 @@ const int mpgl_preferred_gl_versions[] = {
- 0
- };
-
--int mpgl_find_backend(const char *name)
-+static int mpgl_find_backend(const char *name)
- {
- if (name == NULL || strcmp(name, "auto") == 0)
- return -1;
-@@ -126,7 +150,7 @@ int mpgl_validate_backend_opt(struct mp_log *log, const struct m_option *opt,
- return mpgl_find_backend(s) >= -1 ? 1 : M_OPT_INVALID;
- }
-
--static void *get_native_display(void *pctx, const char *name)
-+static void *get_native_display(const char *name)
- {
- MPGLContext *ctx = pctx;
- if (!ctx->native_display_type || !name)
-@@ -186,11 +210,41 @@ cleanup:
-
- // Create a VO window and create a GL context on it.
- // vo_flags: passed to the backend's create window function
--MPGLContext *mpgl_init(struct vo *vo, const char *backend_name, int vo_flags)
-+MPGLContext *mpgl_init(struct vo *vo, struct m_obj_settings *backend_list, int vo_flags)
- {
- MPGLContext *ctx = NULL;
-- int index = mpgl_find_backend(backend_name);
-- if (index == -1) {
-+ if (backend_list && backend_list[0].name) {
-+ int n;
-+ for (n = 0; backend_list[n].name; n++) {
-+ // Something like "--opengl-backend=name," allows fallback to autoprobing.
-+ int index = mpgl_find_backend(backend_list[n].name);
-+ if (index == -1 || strlen(backend_list[n].name) == 0)
-+ goto autoprobe;
-+ if (index == -2) {
-+ MP_FATAL(vo, "Unknown opengl backend '%s'\n", backend_list[n].name);
-+ exit(-2);
-+ return NULL;
-+ }
-+ ctx = init_backend(vo, backends[index], true, vo_flags);
-+ if (ctx)
-+ break;
-+ }
-+ if (!ctx && !vo->probing) {
-+ // Now try with probing off
-+ for (n = 0; backend_list[n].name; n++) {
-+ int index = mpgl_find_backend(backend_list[n].name);
-+ ctx = init_backend(vo, backends[index], false, vo_flags);
-+ if (ctx)
-+ break;
-+ }
-+ if (!ctx) {
-+ // Backend explicitly requested, but unable to fulfill
-+ return NULL;
-+ }
-+ }
-+ }
-+ if (!ctx) {
-+autoprobe:
- for (int n = 0; n < MP_ARRAY_SIZE(backends); n++) {
- ctx = init_backend(vo, backends[n], true, vo_flags);
- if (ctx)
-@@ -204,8 +258,6 @@ MPGLContext *mpgl_init(struct vo *vo, const char *backend_name, int vo_flags)
- break;
- }
- }
-- } else if (index >= 0) {
-- ctx = init_backend(vo, backends[index], false, vo_flags);
- }
- return ctx;
- }
-diff --git a/video/out/opengl/context.h b/video/out/opengl/context.h
-index 229c5ef54f..7cf439c1a0 100644
---- a/video/out/opengl/context.h
-+++ b/video/out/opengl/context.h
-@@ -100,17 +100,13 @@ typedef struct MPGLContext {
- void *priv;
- } MPGLContext;
-
--MPGLContext *mpgl_init(struct vo *vo, const char *backend_name, int vo_flags);
-+MPGLContext *mpgl_init(struct vo *vo, struct m_obj_settings *backend_list, int vo_flags);
- void mpgl_uninit(MPGLContext *ctx);
- int mpgl_reconfig_window(struct MPGLContext *ctx);
- int mpgl_control(struct MPGLContext *ctx, int *events, int request, void *arg);
- void mpgl_start_frame(struct MPGLContext *ctx);
- void mpgl_swap_buffers(struct MPGLContext *ctx);
-
--int mpgl_find_backend(const char *name);
--
--struct m_option;
--int mpgl_validate_backend_opt(struct mp_log *log, const struct m_option *opt,
-- struct bstr name, struct bstr param);
-+extern const struct m_obj_list mpgl_backend_list;
-
- #endif
-diff --git a/video/out/vo_opengl.c b/video/out/vo_opengl.c
-index 9b3f944e21..91e55b3b2f 100644
---- a/video/out/vo_opengl.c
-+++ b/video/out/vo_opengl.c
-@@ -55,7 +55,7 @@ struct vo_opengl_opts {
- int allow_sw;
- int swap_interval;
- int vsync_fences;
-- char *backend;
-+ struct m_obj_settings *backend_list;
- int es;
- int pattern[2];
- };
-@@ -383,7 +383,7 @@ static int preinit(struct vo *vo)
- if (p->opts.allow_sw)
- vo_flags |= VOFLAG_SW;
-
-- p->glctx = mpgl_init(vo, p->opts.backend, vo_flags);
-+ p->glctx = mpgl_init(vo, p->opts.backend_list, vo_flags);
- if (!p->glctx)
- goto err_out;
- p->gl = p->glctx->gl;
-@@ -438,8 +438,7 @@ const struct vo_driver video_out_opengl = {
- OPT_FLAG("opengl-waitvsync", opts.waitvsync, 0),
- OPT_INT("opengl-swapinterval", opts.swap_interval, 0),
- OPT_FLAG("opengl-debug", opts.use_gl_debug, 0),
-- OPT_STRING_VALIDATE("opengl-backend", opts.backend, 0,
-- mpgl_validate_backend_opt),
-+ OPT_SETTINGSLIST("opengl-backend", opts.backend_list, 0, &mpgl_backend_list ),
- OPT_FLAG("opengl-sw", opts.allow_sw, 0),
- OPT_CHOICE("opengl-es", opts.es, 0, ({"no", -1}, {"auto", 0},
- {"yes", 1}, {"force2", 2})),
-From 4e89fae50f70d065ff8ffee40aa8dffe8131210e Mon Sep 17 00:00:00 2001
-From: Drew DeVault <sir@cmpwn.com>
-Date: Thu, 27 Apr 2017 17:51:39 -0400
-Subject: [PATCH 2/4] Update mpv.1
----
- DOCS/man/options.rst | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst
-index 925c501881..5d57720e3d 100644
---- a/DOCS/man/options.rst
-+++ b/DOCS/man/options.rst
-@@ -4480,9 +4480,10 @@ The following video options are currently all specific to ``--vo=opengl`` and
- Continue even if a software renderer is detected.
-
- ``--opengl-backend=<sys>``
-- The value ``auto`` (the default) selects the windowing backend. You can
-- also pass ``help`` to get a complete list of compiled in backends (sorted
-- by autoprobe order).
-+ Specify a priority list of windowing backends to use with OpenGL. The value
-+ ``auto`` (the default) automatically probes for the most suitable backend.
-+ You can also pass ``help`` to get a complete list of compiled in backends
-+ (sorted by autoprobe order).
-
- auto
- auto-select (default)
-From 3fb437fa09ebf20635c02f41ce0e3d13423d1454 Mon Sep 17 00:00:00 2001
-From: Drew DeVault <sir@cmpwn.com>
-Date: Thu, 27 Apr 2017 20:12:51 -0400
-Subject: [PATCH 3/4] Let options handle invalid backends
----
- video/out/opengl/context.c | 17 +++++++++--------
- 1 file changed, 9 insertions(+), 8 deletions(-)
-
-diff --git a/video/out/opengl/context.c b/video/out/opengl/context.c
-index 568bb662b8..8aa44b67cc 100644
---- a/video/out/opengl/context.c
-+++ b/video/out/opengl/context.c
-@@ -91,6 +91,14 @@ static const struct mpgl_driver *const backends[] = {
-
- static bool get_desc(struct m_obj_desc *dst, int index)
- {
-+ if (index == 0) {
-+ *dst = (struct m_obj_desc) {
-+ .name = "auto",
-+ .description = "automatically select most suitable backend"
-+ };
-+ return true;
-+ }
-+ index--;
- if (index >= MP_ARRAY_SIZE(backends) - 1)
- return false;
- const struct mpgl_driver *driver = backends[index];
-@@ -107,8 +115,6 @@ static bool get_desc(struct m_obj_desc *dst, int index)
- const struct m_obj_list mpgl_backend_list = {
- .get_desc = get_desc,
- .description = "OpenGL windowing backends",
-- .allow_unknown_entries = true,
-- .allow_disable_entries = true,
- .allow_trailer = true,
- .disallow_positional_parameters = true,
- };
-@@ -218,13 +224,8 @@ MPGLContext *mpgl_init(struct vo *vo, struct m_obj_settings *backend_list, int v
- for (n = 0; backend_list[n].name; n++) {
- // Something like "--opengl-backend=name," allows fallback to autoprobing.
- int index = mpgl_find_backend(backend_list[n].name);
-- if (index == -1 || strlen(backend_list[n].name) == 0)
-+ if (index < 0 || strlen(backend_list[n].name) == 0)
- goto autoprobe;
-- if (index == -2) {
-- MP_FATAL(vo, "Unknown opengl backend '%s'\n", backend_list[n].name);
-- exit(-2);
-- return NULL;
-- }
- ctx = init_backend(vo, backends[index], true, vo_flags);
- if (ctx)
- break;
-From 605785c4846ecaa969309f7fb63cfba59751ba61 Mon Sep 17 00:00:00 2001
-From: Drew DeVault <sir@cmpwn.com>
-Date: Fri, 26 May 2017 15:31:24 -0400
-Subject: [PATCH 4/4] Updates following HEAD
----
- video/out/opengl/context.c | 17 +----------------
- 1 file changed, 1 insertion(+), 16 deletions(-)
-
-diff --git a/video/out/opengl/context.c b/video/out/opengl/context.c
-index 8aa44b67cc..4cc0829c90 100644
---- a/video/out/opengl/context.c
-+++ b/video/out/opengl/context.c
-@@ -141,22 +141,7 @@ static int mpgl_find_backend(const char *name)
- return -2;
- }
-
--int mpgl_validate_backend_opt(struct mp_log *log, const struct m_option *opt,
-- struct bstr name, struct bstr param)
--{
-- if (bstr_equals0(param, "help")) {
-- mp_info(log, "OpenGL windowing backends:\n");
-- mp_info(log, " auto (autodetect)\n");
-- for (int n = 0; n < MP_ARRAY_SIZE(backends); n++)
-- mp_info(log, " %s\n", backends[n]->name);
-- return M_OPT_EXIT;
-- }
-- char s[20];
-- snprintf(s, sizeof(s), "%.*s", BSTR_P(param));
-- return mpgl_find_backend(s) >= -1 ? 1 : M_OPT_INVALID;
--}
--
--static void *get_native_display(const char *name)
-+static void *get_native_display(void *pctx, const char *name)
- {
- MPGLContext *ctx = pctx;
- if (!ctx->native_display_type || !name)
diff --git a/PKGBUILD b/PKGBUILD
index 413cfe89bc94..b944df3bd5f8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,7 +6,7 @@
# CUDA is x86_64 only and so it will not be available in i686 builds.
pkgname=mpv-full-git
-pkgver=0.27.0.r3.g2f41b834b3
+pkgver=0.27.0.r41.gfab0448c5e
pkgrel=1
pkgdesc='A free, open source, and cross-platform media player (git version with all possible libs)'
arch=('i686' 'x86_64')
@@ -33,15 +33,8 @@ makedepends=('git' 'mesa' 'python-docutils' 'ladspa')
provides=('mpv')
conflicts=('mpv' 'mpv-git')
options=('!emptydirs')
-source=("$pkgname"::'git+https://github.com/mpv-player/mpv.git'
- '0001-opengl-backend-support-multiple-backends.patch')
-sha256sums=('SKIP'
- '609e0530f1b0cdb910dcffb5f62bf55936540e24105ce1b2daf1bd6291a7d58a')
-
-prepare() {
- cd "$pkgname"
- patch -Np1 -i "${srcdir}/0001-opengl-backend-support-multiple-backends.patch"
-}
+source=("$pkgname"::'git+https://github.com/mpv-player/mpv.git')
+sha256sums=('SKIP')
pkgver() {
cd "$pkgname"