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 babda26..0000000 Binary files a/mesa-12.0.3.tar.xz.sig and /dev/null differ 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 0000000..b8003f7 Binary files /dev/null and b/mesa-13.0.0.tar.xz.sig differ 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