summarylogtreecommitdiffstats
path: root/fallback-x.patch
diff options
context:
space:
mode:
authorsL1pKn072018-05-27 21:10:50 +0200
committersL1pKn072018-05-27 21:14:55 +0200
commit6a6f8d9e6796a648d00bf7d6c8a0f1ad779f5549 (patch)
tree92f955c458d7347295d2cf0c7db4fedfce63965f /fallback-x.patch
parenta27cb58379c282df865abfbd4b45b523b7e0324b (diff)
downloadaur-6a6f8d9e6796a648d00bf7d6c8a0f1ad779f5549.tar.gz
update patch url. rebuild is not needed
Diffstat (limited to 'fallback-x.patch')
-rw-r--r--fallback-x.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/fallback-x.patch b/fallback-x.patch
new file mode 100644
index 000000000000..7015eac732f1
--- /dev/null
+++ b/fallback-x.patch
@@ -0,0 +1,49 @@
+diff -urN libva-vdpau-driver-0.7.4/src/vdpau_driver.c libva-vdpau-driver-0.7.4.chromium/src/vdpau_driver.c
+--- libva-vdpau-driver-0.7.4/src/vdpau_driver.c 2012-10-05 16:02:58.000000000 +0100
++++ libva-vdpau-driver-0.7.4.chromium/src/vdpau_driver.c 2016-10-05 18:47:12.937566583 +0100
+@@ -174,7 +174,7 @@
+ }
+ vdpau_gate_exit(driver_data);
+
+- if (driver_data->vdp_dpy) {
++ if ((!driver_data->x_fallback) && driver_data->vdp_dpy) {
+ XCloseDisplay(driver_data->vdp_dpy);
+ driver_data->vdp_dpy = NULL;
+ }
+@@ -187,9 +187,14 @@
+ /* Create a dedicated X11 display for VDPAU purposes */
+ const char * const x11_dpy_name = XDisplayString(driver_data->x11_dpy);
+ driver_data->vdp_dpy = XOpenDisplay(x11_dpy_name);
+- if (!driver_data->vdp_dpy)
+- return VA_STATUS_ERROR_UNKNOWN;
+-
++ /* Fallback to existing X11 display */
++ driver_data->x_fallback = false;
++ if (!driver_data->vdp_dpy) {
++ driver_data->x_fallback = true;
++ driver_data->vdp_dpy = driver_data->x11_dpy;
++ printf("Failed to create dedicated X11 display!\n");
++ }
++
+ VdpStatus vdp_status;
+ driver_data->vdp_device = VDP_INVALID_HANDLE;
+ vdp_status = vdp_device_create_x11(
+diff -urN libva-vdpau-driver-0.7.4/src/vdpau_driver.h libva-vdpau-driver-0.7.4.chromium/src/vdpau_driver.h
+--- libva-vdpau-driver-0.7.4/src/vdpau_driver.h 2012-10-05 16:02:58.000000000 +0100
++++ libva-vdpau-driver-0.7.4.chromium/src/vdpau_driver.h 2016-10-05 18:48:33.701593155 +0100
+@@ -21,6 +21,7 @@
+ #ifndef VDPAU_DRIVER_H
+ #define VDPAU_DRIVER_H
+
++#include <stdbool.h>
+ #include <va/va_backend.h>
+ #include "vaapi_compat.h"
+ #include "vdpau_gate.h"
+@@ -100,6 +101,7 @@
+ uint64_t va_display_attrs_mtime[VDPAU_MAX_DISPLAY_ATTRIBUTES];
+ unsigned int va_display_attrs_count;
+ char va_vendor[256];
++ bool x_fallback;
+ };
+
+ typedef struct object_config *object_config_p;