From ae646641177252e75c3bc95958293ea38a492bc3aa1af566c2638ccd9a4cdc80 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Wed, 2 Nov 2016 10:06:25 +0000 Subject: [PATCH 1/2] Accepting request 438167 from home:mimi_vx:branches:X11:XOrg Tue Nov 18:14:28 UTC 2016 - mimi.vx@gmail.com - update to 13.0.0 - openGL 4.5 with i965 driver on intel bbroadwell and newer hw - openGL ES for haswell supports 3.1, skylake 3.2 - fixes for intel vulkan driver - early support fot GP100 - better radeonSI performace - dropped U_r300g-Set-R300_VAP_CNTL-on-RSxxx-to-avoid-triangle-flickering.patch - refreshed u_Mesa_i965-import-prime-buffers.patch OBS-URL: https://build.opensuse.org/request/show/438167 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=547 --- Mesa.changes | 12 ++++ Mesa.spec | 11 ++- ...n-RSxxx-to-avoid-triangle-flickering.patch | 67 ------------------ mesa-12.0.3.tar.xz | 3 - mesa-12.0.3.tar.xz.sig | Bin 543 -> 0 bytes mesa-13.0.0.tar.xz | 3 + mesa-13.0.0.tar.xz.sig | Bin 0 -> 543 bytes u_Mesa_i965-import-prime-buffers.patch | 20 +++--- 8 files changed, 28 insertions(+), 88 deletions(-) delete mode 100644 U_r300g-Set-R300_VAP_CNTL-on-RSxxx-to-avoid-triangle-flickering.patch delete mode 100644 mesa-12.0.3.tar.xz delete mode 100644 mesa-12.0.3.tar.xz.sig create mode 100644 mesa-13.0.0.tar.xz create mode 100644 mesa-13.0.0.tar.xz.sig diff --git a/Mesa.changes b/Mesa.changes index 0267575..f9f4c56 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Nov 18:14:28 UTC 2016 - mimi.vx@gmail.com + +- update to 13.0.0 +- openGL 4.5 with i965 driver on intel bbroadwell and newer hw +- openGL ES for haswell supports 3.1, skylake 3.2 +- fixes for intel vulkan driver +- early support fot GP100 +- better radeonSI performace +- dropped U_r300g-Set-R300_VAP_CNTL-on-RSxxx-to-avoid-triangle-flickering.patch +- refreshed u_Mesa_i965-import-prime-buffers.patch + ------------------------------------------------------------------- Tue Oct 25 10:05:26 UTC 2016 - sndirsch@suse.com diff --git a/Mesa.spec b/Mesa.spec index c1cf1f8..4dc78e1 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -22,7 +22,7 @@ %define glamor 1 %define _name_archive mesa -%define _version 12.0.3 +%define _version 13.0.0 %define with_opencl 0 %define with_vulkan 0 %ifarch %ix86 x86_64 %arm ppc ppc64 ppc64le s390x @@ -49,7 +49,7 @@ %endif Name: Mesa -Version: 12.0.3 +Version: 13.0.0 Release: 0 Summary: System for rendering interactive 3-D graphics License: MIT @@ -75,8 +75,6 @@ Patch15: u_mesa-8.0-llvmpipe-shmget.patch Patch18: n_VDPAU-XVMC-libs-Replace-hardlinks-with-copies.patch # never to be upstreamed Patch21: n_Define-GLAPIVAR-separate-from-GLAPI.patch -# Already upstream -Patch22: U_r300g-Set-R300_VAP_CNTL-on-RSxxx-to-avoid-triangle-flickering.patch # Nouveau multithreading workarounds from https://github.com/imirkin/mesa/commits/locking Patch61: N_01-WIP-nouveau-add-locking.patch @@ -455,8 +453,8 @@ implementation of Mesa. %if 0%{?with_nine} %package libd3d Summary: Mesa Direct3D9 state tracker -Group: System/Libraries # Manually provide d3d library (bnc#918294) +Group: System/Libraries %ifarch x86_64 s390x ppc64le aarch64 Provides: d3dadapter9.so.1()(64bit) %else @@ -607,7 +605,6 @@ rm -rf docs/README.{VMS,WIN32,OS2} %patch12 -p1 %patch18 -p1 %patch21 -p1 -%patch22 -p1 %if %{use_broken_nouveau_locking_patches} %patch61 -p1 @@ -1023,7 +1020,7 @@ install -m 644 $RPM_SOURCE_DIR/README.updates \ %defattr(-,root,root) %dir %{_datadir}/vulkan %dir %{_datadir}/vulkan/icd.d -%{_datadir}/vulkan/icd.d/intel_icd.json +%{_datadir}/vulkan/icd.d/intel_icd.*.json %{_libdir}/libvulkan_intel.so %files libVulkan-devel diff --git a/U_r300g-Set-R300_VAP_CNTL-on-RSxxx-to-avoid-triangle-flickering.patch b/U_r300g-Set-R300_VAP_CNTL-on-RSxxx-to-avoid-triangle-flickering.patch deleted file mode 100644 index 5de7d92..0000000 --- a/U_r300g-Set-R300_VAP_CNTL-on-RSxxx-to-avoid-triangle-flickering.patch +++ /dev/null @@ -1,67 +0,0 @@ -From: Max Staudt -Date: Thu Sep 8 01:53:45 2016 +0200 -Subject: [PATCH]r300g: Set R300_VAP_CNTL on RSxxx to avoid triangle flickering -Patch-mainline: 02675622b02742960678c438f1b239321c075f50 -Git-repo: git://anongit.freedesktop.org/mesa/mesa -References: bsc#985650 -Signed-off-by: Max Staudt - -On the RSxxx chip series, HW TCL is missing and r300_emit_vs_state() -is never called. - -However, if R300_VAP_CNTL is never set, the hardware (at least the -RS690 I tested this on) comes up with rendering artifacts, and -parts that are uploaded before this "fix" remain broken in VRAM. -This causes artifacts as in fdo#69076 ("triangle flickering"). - -It seems like this setup needs to happen at least once after power on -for 3D rendering to work properly. In the DDX with EXA, this happens in -RADEON_SWITCH_TO_3D() when processing an XRENDER Composite or an -Xv request. So playing back a video or starting a GTK+2 application -fixes 3D rendering for the rest of the session. However, this auto-fix -doesn't happen when EXA is not used, such as with GLAMOR or Wayland. - -This patch ensures the register is configured even in absence of -the DDX's EXA module. - -The register setting is taken from: - xf86-video-ati -- RADEONInit3DEngineInternal() - mesa/src/mesa/drivers/dri/r300 -- r300EmitClearState() - -Tested on RS690. - -CC: -Signed-off-by: Max Staudt -Signed-off-by: Dave Airlie ---- - src/gallium/drivers/r300/r300_context.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c -index 82ba043..0998fac 100644 ---- a/src/gallium/drivers/r300/r300_context.c -+++ b/src/gallium/drivers/r300/r300_context.c -@@ -190,7 +190,7 @@ static boolean r300_setup_atoms(struct r300_context* r300) - /* VAP. */ - R300_INIT_ATOM(viewport_state, 9); - R300_INIT_ATOM(pvs_flush, 2); -- R300_INIT_ATOM(vap_invariant_state, is_r500 ? 11 : 9); -+ R300_INIT_ATOM(vap_invariant_state, is_r500 || !has_tcl ? 11 : 9); - R300_INIT_ATOM(vertex_stream_state, 0); - R300_INIT_ATOM(vs_state, 0); - R300_INIT_ATOM(vs_constants, 0); -@@ -314,6 +314,14 @@ static void r300_init_states(struct pipe_context *pipe) - - if (r300->screen->caps.is_r500) { - OUT_CB_REG(R500_VAP_TEX_TO_COLOR_CNTL, 0); -+ } else if (!r300->screen->caps.has_tcl) { -+ /* RSxxx: -+ * Static VAP setup since r300_emit_vs_state() is never called. -+ */ -+ OUT_CB_REG(R300_VAP_CNTL, R300_PVS_NUM_SLOTS(10) | -+ R300_PVS_NUM_CNTLRS(5) | -+ R300_PVS_NUM_FPUS(2) | -+ R300_PVS_VF_MAX_VTX_NUM(5)); - } - END_CB; - } diff --git a/mesa-12.0.3.tar.xz b/mesa-12.0.3.tar.xz deleted file mode 100644 index 1100483..0000000 --- a/mesa-12.0.3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1dc86dd9b51272eee1fad3df65e18cda2e556ef1bc0b6e07cd750b9757f493b1 -size 8577408 diff --git a/mesa-12.0.3.tar.xz.sig b/mesa-12.0.3.tar.xz.sig deleted file mode 100644 index babda263915bda75c3446ad1201a01022077bf1111cccad0f9688619f08d2708..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 543 zcmV+)0^t3L0vrSY0SEvF1p-&vbpQYg2@vhBH?S=0NevYd5C48&{^y6LZ9Del-zGYW zp@OBx2BpmNxj{0@PtH;5tBCpGQ?wS>CIxBv2~+ov1rzNc%541&JvBmFS3~k9(v$M!A zl>A2nGFullXCrj-OhUSkrae6rFd254zlo+YiJ{SN7-cK#^3%u|-@GrAD8B?N7?<@l z7t;n{V9ZBFegwkJ#o`Fx>8}i#myKRD(GJf`j0Zlq_&5_Tlaf_zl6fC;`<_POD1>=Sm{SkR{07Ex+oU)V zH!*jV_zTncg>)(5DOKk}=Y?}mzl>;|$4eu|Z)33LaT+uoZ|{7`XV20aV#o5_CQjuaGbMZaVjF1p45i0X=8T(Z#Ql0h%SCw$$K>x} ziM8uJVBz}V#iiVNpt4dvnkaR)tH0m%LL_>NXP%26; h)09=%A*N!`L`p^!i%s$_khu0U&w{mRO<~cShM^F71$6)b diff --git a/mesa-13.0.0.tar.xz b/mesa-13.0.0.tar.xz new file mode 100644 index 0000000..31a53a7 --- /dev/null +++ b/mesa-13.0.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94edb4ebff82066a68be79d9c2627f15995e1fe10f67ab3fc63deb842027d727 +size 9151388 diff --git a/mesa-13.0.0.tar.xz.sig b/mesa-13.0.0.tar.xz.sig new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..b8003f7b6660e2fe62fe77014b818f293ced47fa227b286e2f324e0021e3f7ff GIT binary patch literal 543 zcmV+)0^t3L0vrSY0SEvF1p-(Yyp#Y62@vhBH?S=0NezB&5BdV;ZI6nXBv!FS69?Pp zfvm1Oxi8QiL!asueh*?HODTX*xwzbEydG(Z$ECzOh#QHNTel?K=M#bo*yCJLXN6-J zzStftWzE6OAA1ODrJ*cGT+}zdYlDgPm5O!y6%ug}o=>HS&iujrBk~_jCafwHB~2>Z z+%ii!eXrzJh+#!|jL^n1u&jyGvu(K&athpxwB8-Aaev;9EN|Kh+AGSp>*p$6@x?8? z5P#vOS~Hd6uAuLt83pnrni(cYkb5B!q`D+SdOc0y0F%#Dh!}`u# z$LgG>WVS4J*n}TuHn|+2d&6(yy~eXt*_~afnP2GSx#4}CB;Dlx}qh`V*C$u~>#1^4IrDGUXJM4ZIq}6l*X^u~?tnL*c#UyVMdTvm(59*3_ h5v)GZ*cn$^v1V<l6S literal 0 HcmV?d00001 diff --git a/u_Mesa_i965-import-prime-buffers.patch b/u_Mesa_i965-import-prime-buffers.patch index 7cb86a1..779b6a1 100644 --- a/u_Mesa_i965-import-prime-buffers.patch +++ b/u_Mesa_i965-import-prime-buffers.patch @@ -16,27 +16,27 @@ Signed-off-by: Martin Peres 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, +Index: mesa-13.0.0-rc2/src/mesa/drivers/dri/i965/intel_screen.c +=================================================================== +--- mesa-13.0.0-rc2.orig/src/mesa/drivers/dri/i965/intel_screen.c ++++ mesa-13.0.0-rc2/src/mesa/drivers/dri/i965/intel_screen.c +@@ -701,8 +701,11 @@ intel_create_image_from_fds(__DRIscreen int *fds, int num_fds, int *strides, int *offsets, void *loaderPrivate) { + GET_CURRENT_CONTEXT(ctx); - struct intel_screen *intelScreen = screen->driverPrivate; + struct intel_screen *screen = dri_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, +@@ -743,8 +746,26 @@ intel_create_image_from_fds(__DRIscreen size = end; } -- image->bo = drm_intel_bo_gem_create_from_prime(intelScreen->bufmgr, +- image->bo = drm_intel_bo_gem_create_from_prime(screen->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 @@ -55,11 +55,9 @@ index ae51c40..169d578 100644 + if (brw) + bufmgr = brw->bufmgr; + else -+ bufmgr = intelScreen->bufmgr; ++ bufmgr = screen->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 From 9d660a4ab1f530f6f05a982dedb04a1cb00e9efad45073652099ad80de4a2580 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Wed, 2 Nov 2016 12:53:31 +0000 Subject: [PATCH 2/2] Accepting request 438290 from home:Zaitor:branches:GNOME:Next Resub with bug refs OBS-URL: https://build.opensuse.org/request/show/438290 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=548 --- Mesa.changes | 9 +++- Mesa.spec | 2 - u_Mesa_i965-import-prime-buffers.patch | 63 -------------------------- 3 files changed, 8 insertions(+), 66 deletions(-) delete mode 100644 u_Mesa_i965-import-prime-buffers.patch diff --git a/Mesa.changes b/Mesa.changes index f9f4c56..459ad2f 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,5 +1,12 @@ ------------------------------------------------------------------- -Tue Nov 18:14:28 UTC 2016 - mimi.vx@gmail.com +Wed Nov 2 11:44:47 UTC 2016 - zaitor@opensuse.org + +- Drop u_Mesa_i965-import-prime-buffers.patch: Upstream fixed the + bug in a different way, and we should not keep the now obsolete + patch (boo#991638, fdo#71759). + +------------------------------------------------------------------- +Tue Nov 1 18:14:28 UTC 2016 - mimi.vx@gmail.com - update to 13.0.0 - openGL 4.5 with i965 driver on intel bbroadwell and newer hw diff --git a/Mesa.spec b/Mesa.spec index 4dc78e1..61562bc 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -66,7 +66,6 @@ Source7: Mesa.keyring 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 @@ -602,7 +601,6 @@ rm -rf docs/README.{VMS,WIN32,OS2} #%patch11 -p1 #%patch15 -p1 #%patch13 -p1 -%patch12 -p1 %patch18 -p1 %patch21 -p1 diff --git a/u_Mesa_i965-import-prime-buffers.patch b/u_Mesa_i965-import-prime-buffers.patch deleted file mode 100644 index 779b6a1..0000000 --- a/u_Mesa_i965-import-prime-buffers.patch +++ /dev/null @@ -1,63 +0,0 @@ -From e180e9e3c830d3611a6cf7d32e988b4c28d20942 Mon Sep 17 00:00:00 2001 -From: Martin Peres -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: mesa-stable@lists.freedesktop.org -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71759 -Signed-off-by: Martin Peres ---- - src/mesa/drivers/dri/i965/intel_screen.c | 25 +++++++++++++++++++++++-- - 1 file changed, 23 insertions(+), 2 deletions(-) - -Index: mesa-13.0.0-rc2/src/mesa/drivers/dri/i965/intel_screen.c -=================================================================== ---- mesa-13.0.0-rc2.orig/src/mesa/drivers/dri/i965/intel_screen.c -+++ mesa-13.0.0-rc2/src/mesa/drivers/dri/i965/intel_screen.c -@@ -701,8 +701,11 @@ intel_create_image_from_fds(__DRIscreen - int *fds, int num_fds, int *strides, int *offsets, - void *loaderPrivate) - { -+ GET_CURRENT_CONTEXT(ctx); - struct intel_screen *screen = dri_screen->driverPrivate; -+ struct brw_context *brw = brw_context(ctx); - struct intel_image_format *f; -+ dri_bufmgr *bufmgr; - __DRIimage *image; - int i, index; - -@@ -743,8 +746,26 @@ intel_create_image_from_fds(__DRIscreen - size = end; - } - -- image->bo = drm_intel_bo_gem_create_from_prime(screen->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 = screen->bufmgr; -+ -+ image->bo = drm_intel_bo_gem_create_from_prime(bufmgr, fds[0], size); - if (image->bo == NULL) { - free(image); - return NULL;