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:
parent
497b73cdbd
commit
ae64664117
12
Mesa.changes
12
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
|
||||
|
||||
|
11
Mesa.spec
11
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
|
||||
|
@ -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;
|
||||
}
|
@ -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
3
mesa-13.0.0.tar.xz
Normal 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
BIN
mesa-13.0.0.tar.xz.sig
Normal file
Binary file not shown.
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user