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
This commit is contained in:
Stefan Dirsch 2016-11-02 10:06:25 +00:00 committed by Git OBS Bridge
parent 497b73cdbd
commit ae64664117
8 changed files with 28 additions and 88 deletions

View File

@ -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

View File

@ -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

View File

@ -1,67 +0,0 @@
From: Max Staudt <mstaudt@suse.de>
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 <mstaudt@suse.de>
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: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Max Staudt <mstaudt@suse.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
---
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;
}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1dc86dd9b51272eee1fad3df65e18cda2e556ef1bc0b6e07cd750b9757f493b1
size 8577408

Binary file not shown.

3
mesa-13.0.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:94edb4ebff82066a68be79d9c2627f15995e1fe10f67ab3fc63deb842027d727
size 9151388

BIN
mesa-13.0.0.tar.xz.sig Normal file

Binary file not shown.

View File

@ -16,27 +16,27 @@ Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
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