Hello community,

here is the log from the commit of package Mesa for openSUSE:Factory checked in 
at 2016-09-23 11:23:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/Mesa (Old)
 and      /work/SRC/openSUSE:Factory/.Mesa.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "Mesa"

Changes:
--------
--- /work/SRC/openSUSE:Factory/Mesa/Mesa.changes        2016-09-09 
10:17:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.Mesa.new/Mesa.changes   2016-09-23 
11:23:28.000000000 +0200
@@ -1,0 +2,14 @@
+Mon Sep 19 10:00:05 UTC 2016 - [email protected]
+
+- Add u_Mesa_i965-import-prime-buffers.patch: i965: import prime
+  buffers in the current context, not screen (fdo#71759,
+  boo#991638).
+
+-------------------------------------------------------------------
+Sat Sep 17 16:40:56 UTC 2016 - [email protected]
+
+- update to 12.0.3
+* fdo#97781 - [HSW, BYT, IVB] 
es2-cts.gtf.gl2extensiontests.depth_texture_cube_map.depth_texture_cube_map
+* Revert "i965/miptree: Stop multiplying cube depth by 6 in HiZ calculations"
+
+-------------------------------------------------------------------

Old:
----
  mesa-12.0.2.tar.xz
  mesa-12.0.2.tar.xz.sig

New:
----
  mesa-12.0.3.tar.xz
  mesa-12.0.3.tar.xz.sig
  u_Mesa_i965-import-prime-buffers.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ Mesa.spec ++++++
--- /var/tmp/diff_new_pack.QE5K8B/_old  2016-09-23 11:23:29.000000000 +0200
+++ /var/tmp/diff_new_pack.QE5K8B/_new  2016-09-23 11:23:29.000000000 +0200
@@ -18,7 +18,7 @@
 
 %define glamor 1
 %define _name_archive mesa
-%define _version 12.0.2
+%define _version 12.0.3
 %define with_opencl 0
 %define with_vulkan 0
 %ifarch %ix86 x86_64 %arm ppc ppc64 ppc64le s390x
@@ -45,7 +45,7 @@
 %endif
 
 Name:           Mesa
-Version:        12.0.2
+Version:        12.0.3
 Release:        0
 Summary:        System for rendering interactive 3-D graphics
 License:        MIT
@@ -62,6 +62,7 @@
 Patch0:         n_Fixed-build-against-wayland-1.2.1.patch
 # to be upstreamed
 Patch11:        u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
+Patch12:        u_Mesa_i965-import-prime-buffers.patch
 # Patch from Fedora, fix 16bpp in llvmpipe
 Patch13:        u_mesa-8.0.1-fix-16bpp.patch
 # Patch from Fedora, use shmget when available, under llvmpipe
@@ -579,6 +580,7 @@
 #%patch11 -p1
 #%patch15 -p1
 #%patch13 -p1
+%patch12 -p1
 %patch18 -p1
 %patch21 -p1
 


++++++ mesa-12.0.2.tar.xz -> mesa-12.0.3.tar.xz ++++++
/work/SRC/openSUSE:Factory/Mesa/mesa-12.0.2.tar.xz 
/work/SRC/openSUSE:Factory/.Mesa.new/mesa-12.0.3.tar.xz differ: char 27, line 1

++++++ u_Mesa_i965-import-prime-buffers.patch ++++++
>From e180e9e3c830d3611a6cf7d32e988b4c28d20942 Mon Sep 17 00:00:00 2001
From: Martin Peres <[email protected]>
Date: Wed, 3 Aug 2016 12:58:23 +0300
Subject: [PATCH] i965: import prime buffers in the current context, not screen

This mirrors the codepath taken by DRI2 in IntelSetTexBuffer2() and
fixes many applications when using DRI3:
 - Totem with libva on hw-accelerated decoding
 - obs-studio, using Window Capture (Xcomposite) as a Source
 - gstreamer with VAAPI

Cc: [email protected]
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71759
Signed-off-by: Martin Peres <[email protected]>
---
 src/mesa/drivers/dri/i965/intel_screen.c | 25 +++++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/intel_screen.c 
b/src/mesa/drivers/dri/i965/intel_screen.c
index ae51c40..169d578 100644
--- a/src/mesa/drivers/dri/i965/intel_screen.c
+++ b/src/mesa/drivers/dri/i965/intel_screen.c
@@ -702,8 +702,11 @@ intel_create_image_from_fds(__DRIscreen *screen,
                             int *fds, int num_fds, int *strides, int *offsets,
                             void *loaderPrivate)
 {
+   GET_CURRENT_CONTEXT(ctx);
    struct intel_screen *intelScreen = screen->driverPrivate;
+   struct brw_context *brw = brw_context(ctx);
    struct intel_image_format *f;
+   dri_bufmgr *bufmgr;
    __DRIimage *image;
    int i, index;
 
@@ -744,8 +747,26 @@ intel_create_image_from_fds(__DRIscreen *screen,
          size = end;
    }
 
-   image->bo = drm_intel_bo_gem_create_from_prime(intelScreen->bufmgr,
-                                                  fds[0], size);
+   /* Let's import the buffer into the current context instead of the current
+    * screen as some applications like gstreamer, totem, or obs create multiple
+    * X connections which end up creating multiple screens and thus multiple
+    * buffer managers. They then proceed to use a different X connection than
+    * the one used by the currently-bound context to call GLXBindTexImageExt()
+    * which should then import the buffer in the current bound context and not
+    * the current screen. This is done properly upstairs for texture management
+    * so we need to mirror this behaviour if we don't want the kernel rejecting
+    * our pushbuffers as the buffer would not have been imported by the same
+    * buffer manager that sent the pushbuffer referencing it.
+    *
+    * If there is no context currently bound, then revert to using the screen's
+    * buffer manager and hope for the best...
+    */
+   if (brw)
+       bufmgr = brw->bufmgr;
+   else
+       bufmgr = intelScreen->bufmgr;
+
+   image->bo = drm_intel_bo_gem_create_from_prime(bufmgr, fds[0], size);
    if (image->bo == NULL) {
       free(image);
       return NULL;
-- 
2.9.0

Reply via email to