Mesa (12.0): 115 new commits
Emil Velikov
evelikov at kemper.freedesktop.org
Tue Nov 8 21:59:35 UTC 2016
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e7c14088707d0bd4dd8fceaec5d3fc529917a7df
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Sep 15 13:58:33 2016 +1000
Revert "st/vdpau: use linear layout for output surfaces"
This reverts commit d180de35320eafa3df3d76f0e82b332656530126.
This is a radeon specific hack that causes problems on nouveau
when combined with the SHARED flag later. If radeonsi needs a fix
for this, please fix it in the driver.
[chk]
Using linear surfaces for this makes sense because tilling isn't
beneficial and the surfaces can potentially be shared with other GPUs
using the VDPAU OpenGL interop.
[airlied]
I think we need a flag that isn't SHARED/LINEAR that is more
SHARED_OTHER_GPU.
[mareko]
Does radeonsi need PIPE_BIND_VIDEO_DECODE_OUTPUT that it would translate
into linear ?
[mareko]
My only concern is decoding performance. If the decoder works in 64x1
blocks, tiling will hurt. That's the theory. I don't know how the
decoder works.
Cc: 12.0 13.0 <mesa-stable at lists.freedesktop.org>
Acked-by: Christian König <christian.koenig at amd.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
Tested-by: Ilia Mirkin <imirkin at alum.mit.edu>
Tested-by: Nayan Deshmukh <nayan26deshmukh at gmail.com> (I+A)
(cherry picked from commit d0d5f7600c2e8ab8d0c153787185f7a534753edd)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=422e4da25c07605dd1d6bca99140a34790fd2d65
Author: Marek Olšák <marek.olsak at amd.com>
Date: Wed Nov 2 18:59:22 2016 +0100
glx: make interop ABI visible again
This was broken when the GLAPI use was removed from mesa_glinterop.h.
Cc: 12.0 13.0 <mesa-stable at lists.freedesktop.org>
Acked-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
(cherry picked from commit 64c2593a5c33a98d880d141793360b44d07d1366)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1040360e9f494c5233979595ce19178c46e23942
Author: Marek Olšák <marek.olsak at amd.com>
Date: Wed Nov 2 18:59:22 2016 +0100
egl: make interop ABI visible again
This was broken when the GLAPI use was removed from mesa_glinterop.h.
Cc: 12.0 13.0 <mesa-stable at lists.freedesktop.org>
Acked-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
(cherry picked from commit ee39d4456e7551b257343551d59e7c6a3388fdc0)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad7d21bc3a01dd2d4fa4b129d8373047d097a71a
Author: Marek Olšák <marek.olsak at amd.com>
Date: Wed Nov 2 18:56:39 2016 +0100
egl: use util/macros.h
I need the definition of PUBLIC.
Cc: 12.0 13.0 <mesa-stable at lists.freedesktop.org>
Acked-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
(cherry picked from commit bf51b45313c7cc5ca792401f0cc29574aa9122cf)
[Emil Velikov: Keep the MIN2 macro]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3d4a219dd86eaab549e49c48ed1c8a0c922b5221
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Oct 21 12:09:38 2016 -0700
intel/blorp: Rework our usage of ralloc when compiling shaders
Previously, we were creating the shader with a NULL ralloc context and then
trusting in blorp_compile_fs to clean it up. The only problem was that
blorp_compile_fs didn't clean up its context properly so we were leaking.
When I went to fix that, I realized that it couldn't because it has to
return the shader binary which is allocated off of that context and used by
the caller. The solution is to make blorp_compile_fs take a ralloc
context, allocate the nir_shaders directly off that context, and clean it
all up in whatever function creates the shader and calls blorp_compile_fs.
Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
Cc: "12.0, 13.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 43dadb6edd5e3e3e10b1198184a9f75556edad49)
[Emil Velikov: attribute src/intel/blorp file movement]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Conflicts:
src/intel/blorp/blorp.c
src/intel/blorp/blorp_clear.c
src/intel/blorp/blorp_priv.h
src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=76a77249ed5a0bae8b4b8c693159f8a8a1481be6
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Wed Oct 26 23:10:53 2016 +0200
nvc0/ir: fix emission of IMAD with NEG modifiers
The emitter tried to emit sub instead of subr when src0 has
actually a NEG modifier.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: "11.0 12.0 13.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 84e946380b2d5ddc62a107b667be39abf1932704)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1f138149edfbf4b586d7a8fa4f3e92ad5ee7dbf
Author: Tapani Pälli <tapani.palli at intel.com>
Date: Wed Oct 26 13:54:51 2016 +0300
egl: set preserved behavior for surface only if config supports it
Otherwise we can end up with mismatching behavior between config and
surface when client queries surface attributes. As example, configs
for DRI3 do not support preserved behavior but here we were setting
preserved behavior for pixmap and pbuffer.
Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98326
Cc: "12.0 13.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
Reviewed-by: Chad Versace <chadversary at chromium.org>
Tested-by: Mark Janes <mark.a.janes at intel.com>
(cherry picked from commit 2035930966b05a7c4dd1f6559d66b5a3b41e01a5)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a27b813b449eb6ec2e41a9b646af1953f002783
Author: Emil Velikov <emil.velikov at collabora.com>
Date: Mon Oct 31 18:47:21 2016 +0000
cherry-ignore: add ClientWaitSync fixes
Patches (and extension overall) depends on gallium API and driver work
which hasn't landed in branch.
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ac3abe534bb9986ce7ee1286854a3bb2a83568bc
Author: Marek Olšák <marek.olsak at amd.com>
Date: Mon Oct 24 19:05:10 2016 +0200
winsys/amdgpu: fix radeon_surf::macro_tile_index for imported textures
Maybe this is why SDMA has been broken for many amdgpu users?
SDMA is the only block which is used with imported textures and relies
on this variable. DB also uses it, but it doesn't get imported textures,
so it's unaffected.
I do get SDMA failures on Tonga before this patch if R600_DEBUG=testdma
is changed to use imported textures.
Cc: 11.2 12.0 13.0 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit 6ec3b2a4b1d41b83a4721d06b42c49f55e695cbf)
[Emil Velikov: resolve trivial conflicts - SI support does not exist in
branch]
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Conflicts:
src/gallium/winsys/amdgpu/drm/amdgpu_surface.c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=20008a9fb82a573f15e9c6b02b68a90f31889efb
Author: Marek Olšák <marek.olsak at amd.com>
Date: Mon Oct 24 21:16:11 2016 +0200
gallium/radeon: make sure the address of separate CMASK is aligned properly
This should fix random GPU hangs on Hawaii and Fiji.
Cc: 11.2 12.0 13.0 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit dce05b342355eac9296ee7110385b16d6edb059d)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=79a1cc2364b7894617a8c70f0810d6879876f1e1
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Tue Oct 25 13:24:16 2016 +0200
nvc0: use correct bufctx when invalidating CP textures
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: "12.0 13.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 7b2712c367891e96384226a1fa94679a814235d0)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cac5e31b0f7f17d1213288b5e7b2bd73ceccf401
Author: Tapani Pälli <tapani.palli at intel.com>
Date: Fri Oct 7 10:08:21 2016 +0300
mesa: fix error handling in DrawBuffers
Patch rearranges error checking so that enum checking provided via
destmask happens before other checks. It needs to be done in this
order because other error checks do not work properly if there were
invalid enums passed.
Patch also refines one existing check and it's documentation to match
GLES 3.0 spec (also in later specs). This was somewhat mysteriously
referring to desktop GL but had a check for gles3.
Fixes following dEQP tests:
dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.draw_buffers
no CI regressions observed.
Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98134
Cc: "12.0 13.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
(cherry picked from commit a1652a059edc5a5f0f4b0836ba310a22e094bd85)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=979e4b9c3f5b1272df807c0195a85d980c45ea29
Author: Tapani Pälli <tapani.palli at intel.com>
Date: Thu Oct 20 14:11:16 2016 +0300
egl: add check that eglCreateContext gets a valid config
Fixes following dEQP test:
dEQP-EGL.functional.negative_api.create_context
v2: don't break EGL_KHR_no_config_context (Eric Engestrom)
Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
Cc: "12.0 13.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 5876f3c85a61d73bb4863331bd641152a40a7b0c)
[Emil Velikov: drop EGL_NO_CONFIG_KHR, use MESA_configless_context]
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Conflicts:
src/egl/main/eglapi.c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=71d0b5f7c77a66e29cd80a0c339378795e8b9d0e
Author: Emil Velikov <emil.velikov at collabora.com>
Date: Mon Oct 31 18:38:50 2016 +0000
cherry-ignore: add N/A EGL revert
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8fbad647322860af4a96be903b7ae561af80013c
Author: Tapani Pälli <tapani.palli at intel.com>
Date: Thu Oct 20 10:33:33 2016 +0300
egl/dri2: set max values for pbuffer width and height
While these max values were previously fixed for pbuffer creation, this
change makes also eglGetConfigAttrib() return correct values.
Fixes following dEQP tests:
dEQP-EGL.functional.create_surface.pbuffer.rgb888_no_depth_no_stencil
dEQP-EGL.functional.create_surface.pbuffer.rgb888_depth_stencil
dEQP-EGL.functional.create_surface.pbuffer.rgba8888_no_depth_no_stencil
dEQP-EGL.functional.create_surface.pbuffer.rgba8888_depth_stencil
Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98326
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Cc: "12.0 13.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit b91e1e38e87b372d409469dfe00ace76c8febd34)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a106d8c8726f05bd25427a8a6877ccf1d9645add
Author: Axel Davy <axel.davy at ens.fr>
Date: Sat Oct 22 12:00:40 2016 +0200
st/nine: Fix locking CubeTexture surfaces.
Only one face of Cubetextures was locked when in DEFAULT Pool.
Fixes:
https://github.com/iXit/Mesa-3D/issues/129
CC: "12.0 13.0" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Axel Davy <axel.davy at ens.fr>
(cherry picked from commit eed605a473554575305e1bf10c3641761a85feb9)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5abbe8467124bb45dcc0918b645111f77321e0d2
Author: Axel Davy <axel.davy at ens.fr>
Date: Sat Oct 22 11:59:11 2016 +0200
st/nine: Fix mistake in Volume9 UnlockBox
In the format fallback path,
the height was used instead of the depth.
CC: "12.0 13.0" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Axel Davy <axel.davy at ens.fr>
(cherry picked from commit fe7bb46134162c9a9a18832f1746991aa78121e8)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7133f0054d5cb39a1e3b40d2ca13ad5f8e662902
Author: Jonathan Gray <jsg at jsg.id.au>
Date: Sat Oct 22 18:19:53 2016 +1100
mapi: automake: set VISIBILITY_CFLAGS for shared glapi
shared glapi was previously built without setting CFLAGS for
AM_CFLAGS and VISIBILITY_CFLAGS.
This resulted in symbols being exported that shouldn't be.
The x86 and sparc assembly versions of the dispatch table partially
mitigated this by using .hidden. Otherwise shared_dispatch_stub_*
were being exported.
Signed-off-by: Jonathan Gray <jsg at jsg.id.au>
Cc: "11.2 12.0 13.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
(cherry picked from commit 907ace57986733add2aebfa9dd7c83c67efed70e)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5cb4f5980a0f740f1d29ab37e3a6d7040d5e072
Author: Stencel, Joanna <joanna.stencel at intel.com>
Date: Mon Oct 24 09:48:11 2016 +0100
egl/wayland: add missing destroy_window callback
The original patch by Joanna added the function pointer and callback yet
things got only partially applied - the infra was added, but the
implementation was missing.
Cc: "12.0 13.0" <mesa-stable at lists.freedesktop.org>
Fixes: 690ead4a135 ("egl/wayland-egl: Fix for segfault in
dri2_wl_destroy_surface.")
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
(cherry picked from commit 2e0ab61e29c4b44d349ab433c899b691a9b12f68)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d2be28c2bd3d40983db6e317e3778252fc291039
Author: Emil Velikov <emil.velikov at collabora.com>
Date: Thu Oct 20 18:41:22 2016 +0100
automake: don't forget to pick wglext.h in the tarball
Earlier commit reworked the header install rules, to ensure that the
correct ones are installed only as needed.
By doing so it dropped a wildcard which was effectively including the
wglext.h header in the tarball.
Add the header to the top-level noinst_HEADERS, since the it is not
meant to be installed (autoconf is not used on Windows plaforms).
Fixes: a89faa2022f ("autoconf: Make header install distinct for various
APIs (v2)")
Cc: "12.0 13.0" <mesa-stable at lists.freedesktop.org>
Cc: Chuck Atkins <chuck.atkins at kitware.com>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
(cherry picked from commit 3511a86111866f7233a337a24c9c6442b9aa05e6)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd2db885bf7481dcea1bf9a4e1e5a3530b130f24
Author: Emil Velikov <emil.velikov at collabora.com>
Date: Mon Oct 31 18:18:32 2016 +0000
get-pick-list.sh: Require explicit "12.0" for nominating stable patches
A nomination unadorned with a specific version is now interpreted as
being aimed at the 12.0 branch, which was recently opened.
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=648f012459596d081259c43875f12bff57cfee6e
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: Tue Oct 18 18:40:38 2016 +0200
radeonsi: fix 64-bit loads from LDS
Fixes spec/arb_tessellation_shader/execution/dvec[23]-vs-tcs-tes, among
others.
Cc: "12.0 13.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
(cherry picked from commit 4a2dbfff05f7be271c2aa72e783e24b31906db51)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8f9d7528af2619d4ac80fc2847d903d79b68de2
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: Wed Oct 19 18:14:48 2016 +0200
st/mesa: only set primitive_restart when the restart index is in range
Even when enabled, primitive restart has no effect when the restart index
is larger than the representable values in the index buffer.
Fixes GL45-CTS.gtf31.GL3Tests.primitive_restart.primitive_restart_upconvert
for radeonsi VI.
v2: add an explanatory comment
Cc: "12.0 13.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak at amd.com> (v1)
(cherry picked from commit bfa50f88cea2ba9f4dc4b825828d2c8f02866fc3)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a030e886d459044fab3ec645c1554db3ebe05a3
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: Sun Oct 16 17:33:51 2016 +0200
st/glsl_to_tgsi: fix block copies of arrays of doubles
Set the type of the left-hand side to the same as the right-hand side,
so that when the base type is double, the writemask of the MOV instruction
is properly fixed up.
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Cc: 13.0 <mesa-stable at lists.freedesktop.org>
(cherry picked from commit ca592af880b71feb8ebbf79f704380d0deb47b33)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d478aad50ff3731727cb0fe11b17e0e853cc49b
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Wed Oct 19 01:20:03 2016 -0400
nv50/ir: process texture offset sources as regular sources
With ARB_gpu_shader5, texture offsets can be any source, including TEMPs
and IN's. Make sure to process them as regular sources so that we pick
up masks, etc.
This should fix some CTS tests that feed offsets directly to
textureGatherOffset, and we were not picking up the input use, thus not
advertising it in the shader header.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Tested-by: Dave Airlie <airlied at redhat.com>
Cc: 12.0 13.0 <mesa-stable at lists.freedesktop.org>
(cherry picked from commit cd45d758ff87305ceecca899fe7325779bb6755b)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8ae2da8a0f09d344fa82973342f574dac0853be
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Wed Oct 19 00:05:26 2016 -0400
nv50,nvc0: avoid reading out of bounds when getting bogus so info
The state tracker tries to attach the info to the wrong shader. This is
easy enough to protect against.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Cc: 12.0 13.0 <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 313fba5ee1de9416930e45da8aff63a24763940b)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=34cb65716e6449ae49d8890a9bfbe7f6babe40d4
Author: Jonathan Gray <jsg at jsg.id.au>
Date: Sun Oct 16 23:08:42 2016 +1100
genxml: add generated headers to EXTRA_DIST
Building the Mesa 12.0.3 distfile failed on a system without python
as generated files were not included in the distfile.
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Jonathan Gray <jsg at jsg.id.au>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
(cherry picked from commit 41754f743fc42e59944a58188830d82c5ecfe138)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ddcb9cb22e3297bd20e93fe0b4d4a9f79ea855a
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Tue Oct 18 00:21:13 2016 -0400
gm107/ir: fix bit offset of tex lod setting for indirect texturing
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit 8c78fdb328c8a8ea7c7c3cdd0e745f06938cd0ff)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aeabbc1e1dc07a3024044e2464aa89cb4f138ddb
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Mon Oct 17 23:47:48 2016 -0400
gm107/ir: fix texturing with indirect samplers
The indirect handle has to come right after the coordinates, so if there
was a sample/bias/depth compare/offset, everything would end up being
shifted by one argument position.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit ecea2f69ef8c07bd7b08f659b214a83f64ea2daa)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9cecb50bf22dfc2e92c6115a01ae467851a68cd3
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Oct 14 20:08:47 2016 -0700
i965: Fix gl_InvocationID in dual object GS where invocations == 1.
dEQP-GLES31.functional.geometry_shading.instanced.geometry_1_invocations
draws using a geometry shader that specifies
layout(points, invocations = 1) in;
and then uses gl_InvocationID. According to the Haswell PRM, the
"GS Instance ID 0" (and 1) thread payload fields are undefined in
dual object mode:
"If 'dispatch mode' is DUAL_OBJECT this field is not valid."
But there's no point in using them - if there's only one invocation,
the ID will be 0. So just load a constant.
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
(cherry picked from commit 9f677d6541741af483c22f29e81f0d883f86028a)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c403863348d4678db2d6b798a4d2dd639c01f8f4
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: Thu Oct 13 12:36:42 2016 +0200
st/glsl_to_tgsi: fix atomic counter addressing
When more than one atomic counter buffer is in use, UniformStorage[n].opaque
is set up to contain indices that are contiguous across all used buffers.
This appears to be used by i965 via NIR, but for TGSI we do not treat atomic
counter buffers as opaque, so using the data in the opaque array is incorrect.
Fixes GL45-CTS.compute_shader.resource-atomic-counter.
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
(cherry picked from commit 1dd99a15a4e0ffeabe0d50cbb402045e8e34d875)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c7973606ffdadfad5ed3ec3904bfd21e47f5b04
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: Thu Oct 13 11:19:50 2016 +0200
radeonsi: fix indirect loads of 64 bit constants
This fixes GL45-CTS.compute_shader.fp64-case3.
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
(cherry picked from commit 51f9b38ce80d904b9cd39cb204ff792cac74f9c0)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=341889d6ca85b9c7346e656b2eb65ac1007756a4
Author: Chad Versace <chadversary at chromium.org>
Date: Wed Oct 12 15:52:12 2016 -0700
egl: Don't advertise unsupported platform extensions
Mesa's set of supported platform extensions depends on the autoconf
option --with-egl-platforms=foo,bar,baz. If --with-egl-platforms lacks
foo, then eglGetPlatformDisplay(EGL_PLATFORM_FOO, ...) unconditonally
fails.
So, if --with-egl-platforms lacks foo, then remove
EGL_VENDOR_platform_foo from the EGL client extension string.
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
(cherry picked from commit c177ef9d47943f648a13beed14269f468583c16e)
[Emil Velikov: resolve trivial conflicts]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Conflicts:
src/egl/main/eglglobals.c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=866aee0264e9c6b9894b6533d6a912264bd20bd2
Author: Emil Velikov <emil.velikov at collabora.com>
Date: Wed Aug 24 23:57:16 2016 +0100
egl/x11: don't crash if dri2_dpy->conn is NULL
The dri3 version of commits 60e9c35b3a0 and 6de9a03bed4.
While using xcb_connect() guarantees that we always get a non NULL
return value, XGetXCBConnection() does/can not.
CC: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Eric Engestrom <eric at engestrom.ch>
(cherry picked from commit b10c05d4ffaf67786b48b978871e1015b3840653)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=32a469b8ed61f79ee0697740a74dcdc508615cf2
Author: Emil Velikov <emil.velikov at collabora.com>
Date: Tue Oct 11 18:26:15 2016 +0100
isl/gen6: correctly check msaa layout samples count
Samples == 1 is a valid value, so returning false is plain wrong.
Seeming copy/paste typo introduced since day 1.
Fixes: afdadec77f5 ("isl: Implement isl_surf_init() for gen4-gen9")
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Chad Versace <chadversary at chromium.org>
(cherry picked from commit 84f9ef1de4680b48d646841965f963ea2b724ab2)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb9236e27591583c8fa20daaeb29bcab1ccb8ad8
Author: Vinson Lee <vlee at freedesktop.org>
Date: Mon Oct 3 15:16:30 2016 -0700
Revert "mesa_glinterop: remove inclusion of GLX header"
This reverts commit 8472045b16b3e4621553fe451a20a9ba9f0d44b6.
Conflicts:
include/GL/mesa_glinterop.h
This patch fixes this build error with GCC 4.4.
Compiling src/glx/dri_common_interop.c ...
In file included from src/glx/dri_common_interop.c:33:
include/GL/mesa_glinterop.h:62: error: redefinition of typedef ‘GLXContext’
include/GL/glx.h:165: note: previous declaration of ‘GLXContext’ was here
Fixes: 8472045b16b3 ("mesa_glinterop: remove inclusion of GLX header")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96770
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
(cherry picked from commit c10dcb2ce837922c6ee4e191e6d6202098a5ee10)
Squashed with commit:
mesa_glinterop: allow building without X and related headers
This commit effectively reverts c10dcb2ce837922c6ee4e191e6d6202098a5ee10
and fixes the typedef redefinition which inspired it.
In order to prevent requiring X packages at build time earlier commit
forward declared the required X/GLX typedefs. Since that approach
introduced typedef redefinition (a C11 feature) it was reverted.
To avoid the redefinition while _not_ mandating X and related headers
forward declare the structs and use those through the header.
As anyone uses the mesa interop header they ensure that the X (or others
in terms of EGL) headers are included, which ensures that everything is
resolved within the compilation unit.
Cc: Vinson Lee <vlee at freedesktop.org>
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
Cc: Tapani Pälli <tapani.palli at intel.com>
Cc: Chih-Wei Huang <cwhuang at android-x86.org>
Fixes: c10dcb2ce837 ("Revert "mesa_glinterop: remove inclusion of GLX
header"")
Fixes: 8472045b16b3 ("mesa_glinterop: remove inclusion of GLX header")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96770
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Tested-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
(cherry picked from commit c85b34ffd04f9a7a16fe30173474e857d0f42d5f)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=50afa72f3c8b7c5e6648272e91fd0d1b6b61c406
Author: Mario Kleiner <mario.kleiner.de at gmail.com>
Date: Tue Oct 11 20:42:03 2016 +0200
glx: Perform check for valid fbconfig against proper X-Screen.
Commit cf804b4455fac9e585b3600a8318caaced9c23de
('glx: fix crash with bad fbconfig') introduced a check
in glXCreateNewContext() if the given config is a valid
fbconfig.
Unfortunately the check always checks the given config against
the fbconfigs of the DefaultScreen(dpy), instead of the
actual X-Screen specified in the config config->screen.
This leads to failure whenever a GL context is created
on a non-DefaultScreen(dpy), e.g., on X-Screen 1 of
a multi-x-screen setup, where the default screen is
typically 0.
Fix this by using config->screen instead of DefaultScreen(dpy).
Tested to fix context creation failure on a dual-x-screen setup.
Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com>
Cc: "11.2 12.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
(cherry picked from commit 0c94ed0987fd948a7ff4bef401e25319171917c4)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=80409971c0e5f3449137cbb962e93c50d3c907fb
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Oct 13 12:43:07 2016 +1000
anv/wsi: fix apps that acquire multiple images up front
This fix was found in the radv codebase when running dota2,
no idea if anyone has reported it on anv, but the same problem
occurs.
Once an image is acquired we need to mark it busy.
Acked-by: Edward O'Callaghan <funfunctor at folklore1984.net>
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied at redhat.com>
(cherry picked from commit 8980ac041167fb5a80be76e2f912b96117afa2cf)
Squashed with commit
anv: fix the wayland wsi busy flag setting
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied at redhat.com>
(cherry picked from commit a3834ebaf9ea8ff6826651392978cdb73b7fab96)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=920150f28a3fdebba148be61519c43a040be5b42
Author: Dave Airlie <airlied at redhat.com>
Date: Tue Aug 30 09:46:29 2016 +1000
anv: initialise and increment send_sbc
At least set this to not be uninitialised memory.
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied at redhat.com>
(cherry picked from commit dfe74fd1a9e16647e0f2673d3676264f2a588a95)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=12bdcc105c5d9650620664bcca1844ac424b9b96
Author: Marek Olšák <marek.olsak at amd.com>
Date: Wed Oct 12 21:47:41 2016 +0200
radeonsi: disable ReZ
This is a serious performance fix. Discovered by luck.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94354
Cc: 12.0 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit e12c1cab5d571c215f65bd9f3fc1629c090ed948)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1cb2a483ba7d91f6ce7eaea70eb8231f0dd1b69c
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: Mon Oct 10 20:20:22 2016 +0200
st/mesa: fix vertex elements setup for doubles
Whether one or two slots are taken up by one API array depends on the
vertex shader, not on how the array is configured. When an array is
set up with fewer components than the shader expects, the high components
are undefined.
Fixes GL45-CTS.vertex_attrib_binding.basic-inputL-case1.
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Dave Airlie <airlied at redhat.com>
(cherry picked from commit d413fbb159d0ddac16bb9d93bdda4fe598d39e17)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=79e84bafc1e19180825b5c00facfa734b6789c91
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: Mon Oct 10 11:44:03 2016 +0200
st/glsl_to_tgsi: fix textureGatherOffset with indirectly loaded offsets
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Reviewed-by: Dave Airlie <airlied at redhat.com>
(cherry picked from commit 1d7685e52ca64f6fcc66b8816b5adb8513b4ae18)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5181624675e546b8452083d5b830ad61a9b67e72
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: Sun Oct 9 22:28:30 2016 +0200
st/glsl_to_tgsi: simplify translate_tex_offset
This fixes a bug with offsets from uniforms which seems to have only been
noticed as a crash in piglit's
arb_gpu_shader5/compiler/builtin-functions/fs-gatherOffset-uniform-offset.frag
on radeonsi.
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Reviewed-by: Dave Airlie <airlied at redhat.com>
(cherry picked from commit b234e377650c8280d56060ff38c55af9d7772ee4)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d18d830744a5437cb11b38074d30bc3ba1e13af8
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Wed Oct 12 10:24:59 2016 -0400
nvc0/ir: fix textureGather with a single offset
Recent fix for non-const offsets broke the case of a single offset (vs 4
offsets). The later code relies on the offs array to contain null values
to tell whether they should be added onto the srcs list.
Fixes: 5239bd592 ("nvc0/ir: fix overwriting of value backing non-constant gather offset")
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit a48a343c299a6486a1540cdf7d083f38aa4ace55)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bef0cc6287e21a5fae52d62f16f04936ffcfd900
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Mon Oct 10 16:57:50 2016 -0400
nv50/ir: copy over value's register id when resolving merge of a phi
The offset needs to be properly copied over to the phi value, otherwise
it will get assigned to the base of the merge instead of the proper
location.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit 300b5ad023962ee95322e890a9ba57396392407e)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0f5bd96078ac93fd607a7a8b95056a7853b9851
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: Fri Oct 7 16:15:30 2016 +0200
st/glsl_to_tgsi: disable on-the-fly peephole for 64-bit operations
This optimization is incorrect with 64-bit operations, because the
channel-splitting logic in emit_asm ends up being applied twice to
the source operands.
A lucky coincidence of how the writemask test works resulted in this
optimization basically never being applied anyway. As far as I can tell,
the only case where it would (incorrectly) have been applied is something
like
dvec2 d;
float x = (float)d.y;
which nobody seems to have ever done. But the moral equivalent does occur
in one of the component layout piglit test.
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Edward O'Callaghan <funfunctor at folklore1984.net>
Reviewed-by: Dave Airlie <airlied at redhat.com>
(cherry picked from commit 63193b9cdeca4f5d0e91f90c0926a1565f6b0415)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca135ebd76ececa9379368e01dd79b01499303eb
Author: Axel Davy <axel.davy at ens.fr>
Date: Fri Sep 30 00:17:45 2016 +0200
st/nine: Fix the calculation of the number of vs inputs
Fixes hangs on radeonsi, and assert on llvmpipe.
Signed-off-by: Axel Davy <axel.davy at ens.fr>
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit d2fd2966483dda23911dc89fdf9dbff02a87df6a)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ec2751f967b5cabd92c701c05f37c0bff64a5ea2
Author: Axel Davy <axel.davy at ens.fr>
Date: Fri Sep 30 20:48:22 2016 +0200
gallium/util: Really allow aliasing of dst for u_box_union_*
Gallium nine relies on aliasing to work with this function.
Without this patch, dirty region tracking was incorrect, which
could lead to incorrect textures or vertex buffers.
Fixes several game bugs with nine.
Fixes https://github.com/iXit/Mesa-3D/issues/234
Signed-off-by: Axel Davy <axel.davy at ens.fr>
Reviewed-by: Patrick Rudolph <siro at das-labor.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: Edward O'Callaghan <funfunctor at folklore1984.net>
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 2290eac84ef0c80a6e60cafac8ed0fb8f8a4ca93)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=24a16d0a9dbf1e0df502b099652596e7d88f3d8b
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Mon Oct 10 12:06:59 2016 -0400
nvc0/ir: fix overwriting of value backing non-constant gather offset
Normally the value is an immediate, which is moved to some temporary, so
there's no problem. In the case of a non-constant offset (as allowed by
ARB_gpu_shader5), we have to take care to copy it first before using it
to build up the bits.
This fixes a compilation error observed in F1 2015.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit 5239bd59207752a3acae367fc3faa76ab17d01e4)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9c5de2546c732d69dd8baec8d2b2f257ef01b599
Author: Eric Anholt <eric at anholt.net>
Date: Thu Oct 6 15:19:21 2016 -0700
gallium: Fix install-gallium-links.mk on non-bash /bin/sh
Debian uses dash by default, which doesn't do '+='. Fixes servo's
osmesa-based headless testing system, which was looking for libOSMesa in
the lib/ directory.
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit ec9ed1c4d8f1005ea8b00fa673257564310d96a8)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=17f59da9dbf22d080e765525703d7cb3ade1d0d7
Author: Martin Peres <martin.peres at linux.intel.com>
Date: Thu Oct 6 17:10:35 2016 +0300
loader/dri3: import prime buffers in the currently-bound screen
This tries to 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
v2:
- introduce get_dri_screen() in the dri3 loader's vtable (krh)
Tested-by: Timo Aaltonen <tjaalton at ubuntu.com>
Tested-by: Ionut Biru <biru.ionut at gmail.com>
Cc: mesa-stable at lists.freedesktop.org
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71759
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Signed-off-by: Martin Peres <martin.peres at linux.intel.com>
(cherry picked from commit a599b1c2037ac8aca6c92350c8a7b3e42c81deaa)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0ae4d909ea443d3a8655ee25faa2717cc621b2c6
Author: Martin Peres <martin.peres at linux.intel.com>
Date: Thu Oct 6 17:07:22 2016 +0300
loader/dri3: add get_dri_screen() to the vtable
This allows querying the current active screen from the
loader's common code.
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Signed-off-by: Martin Peres <martin.peres at linux.intel.com>
(cherry picked from commit 0247e5ee3edd546b8598082d5b45d110f61853d0)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2fedb106bb23972feac101afa7d0a79f56e0d7b8
Author: Chuck Atkins <chuck.atkins at kitware.com>
Date: Tue Oct 4 11:05:30 2016 -0400
autoconf: Make header install distinct for various APIs (v2)
This fixes a problem where GL headers would only get installed if
glx was enabled. So if osmesa was enabled but not glx, then the
GL headers required by osmesa would be missing from the install.
v2: Dropped unneeded mesa_glinterop.h redundant osmesa.h install
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Chuck Atkins <chuck.atkins at kitware.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
(cherry picked from commit a89faa2022fd995af2019c886b152b49a01f9392)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5de4cbf3240e5bacfd3d546d519dce3f72fea9d
Author: Chad Versace <chadversary at chromium.org>
Date: Tue Sep 27 23:33:45 2016 -0700
i965/sync: Fix uninitalized usage and leak of mutex
We locked an unitialized mutex in the callstack
glClientWaitSync
intel_gl_client_wait_sync
brw_fence_client_wait_sync
because we forgot to initialize it in intel_gl_fence_sync.
(The EGLSync codepath didn't have this bug. It initialized the mutex in
intel_dri_create_sync).
We also forgot to tear down (mtx_destroy) the mutex when destroying
the sync object.
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
(cherry picked from commit ce1d67c2e5916e97bb65c0bd3b782efca7d3dea5)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e7b274c5520b184f7b602aaf9ce97f654375cc6a
Author: Marek Olšák <marek.olsak at amd.com>
Date: Wed Oct 5 01:49:30 2016 +0200
radeonsi: fix texture border colors for compute shaders
There are VM faults without this.
Cc: 12.0 <mesa-stable at lists.freedesktop.org>
Acked-by: Edward O'Callaghan <funfunctor at folklore1984.net>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit cc4a19c4ad5b617af632ce732ccbfeb4b4043114)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=63c1a5d391762e026cff45da208824b62e63489a
Author: Marek Olšák <marek.olsak at amd.com>
Date: Tue Oct 4 22:33:03 2016 +0200
radeonsi: fix interpolateAt opcodes for .zw components
Not returning garbage in .zw seems pretty important.
This fixes:
GL45-CTS.shader_multisample_interpolation.render.interpolate_at_*_check.*
Cc: 11.2 12.0 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit 1b37e5541c7d74c50124e5220936bd4b0234df6d)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d16be6898b7d50f64968c3da3a9d6376ac98a202
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Sep 21 21:43:35 2016 -0700
i965: Add missing BRW_CS_PROG_DATA to CS work group surface atom.
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
(cherry picked from commit bab1c056344854ca2e147bafd313723eb3a32ecb)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b0512ade468a55f57282998d18d764103a339d0
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Sep 21 21:31:25 2016 -0700
i965: Add missing BRW_NEW_CS_PROG_DATA to compute constant atom.
CACHE_NEW_CS_PROG hasn't existed in quite a long time...the old
comment was there, but not the actual bit.
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
(cherry picked from commit ce6c80ebbb672fb4dfda2b5bfaecc2afc2bcbbcd)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=39344de58733f3543756abec6fe7f115635d9e63
Author: Emil Velikov <emil.velikov at collabora.com>
Date: Mon Oct 31 18:14:21 2016 +0000
cherry-ignore: add update_renderbuffer_read_surfaces()
The function (and underlying work) is not in branch. Former introduced
with 786108e7b27e4728353d69ff60aa046987859d8e.
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=915683485f019c5ee0c40e192a2de9c86d8c8b3c
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Sep 8 22:26:20 2016 -0700
i965: Move BRW_NEW_FRAGMENT_PROGRAM from 3DSTATE_PS to PS_EXTRA.
3DSTATE_PS doesn't need this. 3DSTATE_PS_EXTRA however does,
for brw_color_buffer_write_enabled().
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
(cherry picked from commit 0047d600afee613c5b4fd64c986edfd5c38548c9)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bc04c92aef700a60a65ff567aed7f3e99a6d95b4
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sun Sep 11 22:50:20 2016 -0700
i965: Add missing BRW_NEW_VS_PROG_DATA to 3DSTATE_CLIP.
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
(cherry picked from commit 28e1538be7923205231402ab928b61b670bd2962)
[Emil Velikov: resolve trivial conflicts]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Conflicts:
src/mesa/drivers/dri/i965/gen6_clip_state.c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5fb22e12583a298e8c0fd1c8202d9221bc397b62
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Sep 8 20:35:39 2016 -0700
i965: Fix missing _NEW_TRANSFORM in Gen8+ 3DSTATE_DS atom.
Needed for user clip plane enables. Broken since this code was
introduced.
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
(cherry picked from commit 78df96256b5c2b4bea9ffb1aebff5462ed7feb3c)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5de58d7e1978234fbcecd9d92b127233c7bf688
Author: Chad Versace <chadversary at chromium.org>
Date: Tue Sep 27 13:27:09 2016 -0700
egl: Fix truncation error in _eglParseSyncAttribList64
The function stores EGLAttrib values in EGLint variables. On 64-bit
systems, this truncated the values.
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
(cherry picked from commit 69adb9a778470b1717e619e38aebb47a28031756)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=082ea77cdf6e72a3a7d19832b5211289c07009a2
Author: Emil Velikov <emil.velikov at collabora.com>
Date: Mon Oct 31 17:50:54 2016 +0000
cherry-ignore: add EGL_KHR_debug fix
The extension landed after the branchpoint.
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a5c0b8784aacfc0e7d2ff90a92dd56bb53b97bdd
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: Wed Sep 28 18:20:32 2016 +0200
gallium/radeon: cleanup and fix branch emits
Some of the existing code is needlessly complicated. The basic principle
should be: control-flow opcodes emit branches to properly terminate the
current block, _unless_ the current block already has a terminator (which
happens if and only if there was a BRK or CONT).
This also fixes a bug where multiple terminators were created in a block.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97887
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
(cherry picked from commit 6f87d7a14699277be6dd17e9e712841c4057c4df)
[Emil Velikov: resolve trivial conflicts]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Conflicts:
src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=020550e099001205c09c5ee3e46a8233911a3785
Author: James Legg <jlegg at feralinteractive.com>
Date: Tue Oct 4 14:30:11 2016 +0100
radeonsi: Fix primitive restart when index changes
If primitive restart is enabled for two consecutive draws which use
different primitive restart indices, then the first draw's primitive
restart index was incorrectly used for the second draw.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98025
Cc: 11.1 11.2 12.0 <mesa-stable at lists.freedesktop.org>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
(cherry picked from commit e33f31d61f5e9019f8b0bac0378dfb8fd1147421)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e7491c3bbdaba863d67c7e5b8d307fd10140df0c
Author: Matt Whitlock <freedesktop at mattwhitlock.name>
Date: Sat Oct 1 23:49:45 2016 -0400
gallium/winsys: replace calls to dup(2) with fcntl(F_DUPFD_CLOEXEC)
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Matt Whitlock <freedesktop at mattwhitlock.name>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit 42ed8a6c9ccfb8b6b632c3be90fb03d292f53d25)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=39c0535646bb755dc5555e9c7662b74644200619
Author: Matt Whitlock <freedesktop at mattwhitlock.name>
Date: Sat Oct 1 23:49:44 2016 -0400
st/xa: replace call to dup(2) with fcntl(F_DUPFD_CLOEXEC)
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Matt Whitlock <freedesktop at mattwhitlock.name>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit ac6064f91898065c8b82255190a0508204d3f88c)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c27d5653599d952019df419ad0155e904b456f4
Author: Matt Whitlock <freedesktop at mattwhitlock.name>
Date: Sat Oct 1 23:49:43 2016 -0400
st/dri: replace calls to dup(2) with fcntl(F_DUPFD_CLOEXEC)
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Matt Whitlock <freedesktop at mattwhitlock.name>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit 0c060f691c0827b0a66e97a4a7f54385de14cdb8)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea3e778bff6f74d1a218e6fa25cd768891d0f875
Author: Matt Whitlock <freedesktop at mattwhitlock.name>
Date: Sat Oct 1 23:49:42 2016 -0400
gallium/auxiliary: replace call to dup(2) with fcntl(F_DUPFD_CLOEXEC)
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Matt Whitlock <freedesktop at mattwhitlock.name>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit 5d0069eca2c5e29ef9255f9b0e70d4daefd10ce8)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d82738fbd97e5d4b6d95be9d59d7f2375e9c93af
Author: Matt Whitlock <freedesktop at mattwhitlock.name>
Date: Sat Oct 1 23:49:41 2016 -0400
egl/android: replace call to dup(2) with fcntl(F_DUPFD_CLOEXEC)
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Matt Whitlock <freedesktop at mattwhitlock.name>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit c8fd7d060d000a89f08f690ec72349ab97ae41bc)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4e1298be040a7a25441ba108a697736143135160
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Thu Sep 15 21:12:34 2016 -0700
nir/spirv/cfg: Use a nop intrinsic for tagging the ends of blocks
Previously, we were saving off the last nir_block in a vtn_block before
moving on so that we could find the nir_block again when it came time to
handle phi sources. Unfortunately, NIR's control flow modification code is
inconsistent when it comes to how it splits blocks so the block pointer we
saved off may point to a block somewhere else in the shader by the time we
get around to handling phi sources. In order to get around this, we insert
a nop instruction and use that as the logical end of our block. Since the
control flow manipulation code respects instructions, the nop will keeps
its place like any other instruction and we can easily find the end of our
block when we need it.
This fixes a bug triggered by a couple of vkQuake shaders.
Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97233
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
Tested-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
(cherry picked from commit 6ffbfc760da14fc710a05438b9fd9eff034128da)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=17429a22a6026dc6601fc8e9ae4f0daecb30079a
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Thu Sep 15 21:02:37 2016 -0700
nir: Add a nop intrinsic
This intrinsic has no destination, no sources, no variables, and can be
eliminated. In other words, it does nothing and will always get deleted by
dead code elimination. However, it does provide a quick-and-easy way to
temporarily tag a particular location in a NIR shader.
Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 7697b4b98b155c818811709becdb408772371538)
[Emil Velikov: resolve trivial conflicts]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Conflicts:
src/compiler/nir/nir_intrinsics.h
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d8d7de3b293e1c1b55c322572d3f7a6385c93253
Author: Tapani Pälli <tapani.palli at intel.com>
Date: Mon Sep 26 10:03:32 2016 +0300
egl: stop claiming support for pbuffer + msaa
This fixes a crash in egl-create-msaa-pbuffer-surface Piglit test
and same crash in many dEQP EGL tests.
I also found that some Qt example did a workaround because of this
crash: https://bugreports.qt.io/browse/QTBUG-47509
v2: Ian pointed out that v1 removed support for all multisample
configs, including window ones. This one removes pbuffer bit
when adding configs, now only pbuffer+msaa gets rejected and
window+msaa continues to work. Fixed also comment (Emil)
Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
(cherry picked from commit 4d6d55deef291b489af4d7870c6f5eb223c8da5d)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e4aeeb8ecf2c95d2047676d4d07d5475fa6d91a
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Sep 16 22:04:57 2016 -0700
nir/spirv/cfg: Detect switch_break after loop_break/continue
While the current CFG code is valid in the case where a switch break also
happens to be a loop continue, it's a bit suboptimal. Since hardware is
capable of handling the continue as a direct jump, it's better to use a
continue instruction when we can than to bother with all of the nasty
switch break lowering.
Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit ef3c5ac7fb915f489a553fa9d9a0c96d219545ad)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=12d09e24f8e3c281326de20f540a9209cffbccef
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Sep 16 21:55:08 2016 -0700
nir/spirv/cfg: Handle switches whose break block is a loop continue
It is possible that the break block of a switch is actually the continue of
the loop containing the switch. In this case, we need to identify the
break block as a continue and break out of current level of CFG handling.
If we don't, the continue portion of the loop will get handled twice, once
by following after the break and a second time by the loop handling code
handling it explicitly.
This fixes 6 of the new Vulkan CTS tests:
- dEQP-VK.spirv_assembly.instruction.graphics.opphi.out_of_order*
- dEQP-VK.spirv_assembly.instruction.graphics.selection_block_order.out_of_order*
Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 4d02faede57b782264ab97d57919e9dad7dd8131)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd88ea6d825ce7942c2a4523d017bb4c800d3f45
Author: Eric Anholt <eric at anholt.net>
Date: Thu Aug 18 14:10:57 2016 -0700
travis: Upgrade LLVM dependency to 3.5 and enable LLVM drivers.
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Rhys Kidd <rhyskidd at gmail.com>
(cherry picked from commit 78ab62b1e922e191da6b1a04ce645ee5e0363c05)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c004014db4ae55e027affccded2871751255eac4
Author: Eric Anholt <eric at anholt.net>
Date: Thu Aug 18 13:43:12 2016 -0700
travis: Enable vc4 in libdrm to satisfy vc4 test build dependency.
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Rhys Kidd <rhyskidd at gmail.com>
(cherry picked from commit 084678ccbb018135a835ef40aa16c444139f3e83)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6931dab9b4b4967562f355ea39d3f95fe69298af
Author: Eric Anholt <eric at anholt.net>
Date: Thu Aug 18 13:12:18 2016 -0700
travis: Update to the Ubuntu Trusty image.
This will hopefully fix wget from x.org (no real reason explained in
Travis CI bug reports), and may also mean that we can enable LLVM driver
builds.
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Rhys Kidd <rhyskidd at gmail.com>
(cherry picked from commit 80a872f3f0e307572108bb9a3181a4ddbd9f7956)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a8010d31ce5ed826d0960f24f3be89dc586c37fd
Author: Eric Anholt <eric at anholt.net>
Date: Thu Aug 18 12:29:31 2016 -0700
travis: Parse configure.ac to pick an updated LIBDRM_VERSION.
Travis has been broken a couple of times by configure.ac updates. To make
it useful, auto-update the version necessary.
This could potentially be used for other dependencies, too, but those get
bumped less frequently.
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Rhys Kidd <rhyskidd at gmail.com>
(cherry picked from commit ecbc76cf6eaacfa8337de9449c4f65d395c12df5)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0909e54c3cbbf41234b806eac5006a51dfc4adec
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Thu Sep 15 11:11:12 2016 -0700
glsl: Fix cut-and-paste bug in hierarchical visitor ir_expression::accept
At this point in the code, s must be visit_continue. If the child
returned visit_stop, visit_stop is the only correct thing to return.
Found by inspection.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
(cherry picked from commit ea6ed2379d43330152273caa87f93ea7a77ec9f7)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6cd0438840c234574421e96ab636febc900de29d
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Jul 21 18:34:37 2016 -0500
configure.ac: add llvm inteljitevents component if enabled
Needed to successfully link llvmpipe or swr when using shared llvm libs
built with inteljitevents enabled.
v2: Make adding inteljitevents component global rather than just
llvmpipe/swr, since libgallium will have a symbol dependency.
Cc: <mesa-stable at lists.freedesktop.org>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
(cherry picked from commit bacdd9ef4c00d49cda4f704eadbbd871bb467735)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f228c90f80effc413b51aba0b9b4f3487ed35871
Author: Nicholas Bishop <nbishop at neverware.com>
Date: Thu Sep 22 16:04:13 2016 +0100
st/dri: check pipe_screen->resource_get_handle() return value
Change dri2_query_image to check the return value of resource_get_handle
and return GL_FALSE if an error occurs.
For reference this is an example callstack that should propagate the
error back to the user:
i915_drm_buffer_get_handle
i915_texture_get_handle
u_resource_get_handle_vtbl
dri2_query_image
gbm_dri_bo_get_fd
gbm_bo_get_fd
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Nicholas Bishop <nbishop at neverware.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com> (v1)
[Emil Velikov: Split from larger patch, polish coding style, cc stable]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
(cherry picked from commit aa560e8e6328acd5b8feec1fea54dec06ae21368)
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Conflicts:
src/gallium/state_trackers/dri/dri2.c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=29320aa06a780cbb96353b9dd10380ba1200cca0
Author: Nicholas Bishop <nbishop at neverware.com>
Date: Thu Sep 8 15:55:02 2016 -0400
gbm: return appropriate error when queryImage() fails
Change gbm_dri_bo_get_fd to check the return value of queryImage and
return -1 (an invalid file descriptor) if an error occurs.
Update the comment for gbm_bo_get_fd to return -1, since (apart from the
above) we've already return -1 on error.
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Nicholas Bishop <nbishop at neverware.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com> (v1)
[Emil Velikov: Split from larger patch, polish coding style, cc stable]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
(cherry picked from commit 2d05ba2ca0af336ceae3167432d7df9df3366b74)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=48f001b836b88df9f679538751f86698766405d0
Author: Emil Velikov <emil.velikov at collabora.com>
Date: Wed Sep 28 15:08:33 2016 +0100
cherry-ignore: add vaapi encode fix
The encode codepaths landed after the branch point.
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0823c98a65fc5d1eafd941ac1aaf62440bbe791f
Author: Brian Paul <brianp at vmware.com>
Date: Thu Sep 22 16:03:40 2016 -0600
st/mesa: fix swizzle issue in st_create_sampler_view_from_stobj()
Some demos, like Heaven, were creating and destroying a large number
of sampler views because of a swizzle issue.
Basically, we compute the sampler view's swizzle by examining the
texture format, user swizzle, depth mode, etc. Later, during validation
we recompute that swizzle (in case something like depth mode changes)
and see if it matches the view's swizzle.
In the case of PIPE_FORMAT_RGTC2_UNORM, get_texture_format_swizzle
returned SWIZZLE_XYZW but the u_sampler_view_default_template() function
was setting the sampler view's swizzle to SWIZZLE_XY01. This mismatch
caused the validation step to always "fail" so we'd destroy the old
sampler view and create a new one.
By removing the conditional, the sampler view's swizzle and the computed
texture swizzle match and validation "passes". When creating a new sampler
view, we always want to use the texture swizzle which we just computed.
Fixes VMware issue 1733389.
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Charmaine Lee <charmainel at vmware.com>
(cherry picked from commit 1cdc232e1ae683a7c45f81b44818cf8656480df8)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a287f820b821e21299832eaf381a89ace88049c4
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Sun Sep 18 14:42:20 2016 +0200
gk110/ir: fix wrong emission of OP_NOT
This should emit src0 instead of src1.
Found by inspection.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit d8b4f5fcca2ce299b8ef248b6f57896c7b85d18c)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=725ef1fbba6d5c343d861af77c890ed23a670408
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Thu Sep 15 18:11:56 2016 +0200
nvc0/ir: fix subops for IMAD
Offset was wrong, it's at bit 8, not 4. Also, uses subr instead
of sub when src2 has neg. Similar to GK110 now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit 50baaf6bc624e78f6d92f2316a370e11d4c4d882)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a4a23784080769d0fbc25621b769c63030e15742
Author: Marek Olšák <marek.olsak at amd.com>
Date: Thu Sep 8 21:02:29 2016 +0200
mesa: fix glGetFramebufferAttachmentParameteriv w/ on-demand FRONT_BACK alloc
This fixes 66 CTS tests on st/mesa.
Cc: 12.0 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit d58a3906cba57b12035f6ec7a3da80edc6929d6f)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cc34777cec270d72f69dedffd1eeedb90a0d23ac
Author: Emil Velikov <emil.velikov at collabora.com>
Date: Wed Sep 28 14:47:44 2016 +0100
cherry-ignore: add non-applicable i965 commit
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd614f31b88fd44544460d5bc5e55f2b2125aa86
Author: Hans de Goede <hdegoede at redhat.com>
Date: Sat May 7 14:43:59 2016 +0200
pipe_loader_sw: Fix fd leak when instantiated via pipe_loader_sw_probe_kms
Make pipe_loader_sw_probe_kms take ownership of the passed in fd,
like pipe_loader_drm_probe_fd does.
The only caller is dri_kms_init_screen which passes in a dupped fd,
just like dri2_init_screen passes in a dupped fd to
pipe_loader_drm_probe_fd.
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
(cherry picked from commit 459cc94507071eec18b746f57a4ec82578a38b54)
Squashed with commit:
pipe_loader_sw: Don't invoke Unix close() on Windows.
Trivial.
(cherry picked from commit c6d17701c823f10ce6d04e4ccb5df09b0186bfbd)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=67c99c12453fbd2c8b5c0a4a94108ab00d1b9816
Author: Vedran Miletić <vedran at miletic.net>
Date: Tue Jun 21 01:17:49 2016 +0200
clover: Fix build against clang SVN >= r273191
setLangDefaults() now requires PreprocessorOptions as an argument.
Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer at amd.com>
(cherry picked from commit 82e0bbd01abfb2073519941d9893fa6ac05fb58c)
Nominated-by: Andreas Boll <andreas.boll.dev at gmail.com>
Nominated-by: Timo Aaltonen <tjaalton at ubuntu.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a72af2aeb48b90adfff922c99a26274cbc2f357
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Sep 2 22:54:25 2016 -0700
mesa: Expose RESET_NOTIFICATION_STRATEGY with KHR_robustness.
This is supposed to be exposed with the GL_KHR_robustness extension,
which we support on ES 2.0 and later. On desktop GL, it's also exposed
by GL_ARB_robustness, which is supported by all drivers ("dummy_true").
so we also allow desktop GL.
Fixes:
- ES32-CTS.robust.robustness.noResetNotification
- ES32-CTS.robust.robustness.loseContextOnReset
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
(cherry picked from commit 3bcdc2e3db8fb9f8e04d3504b6f331b484ebcc96)
[Emil Velikov: resolve trivial conflicts]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Conflicts:
src/mesa/main/get.c
src/mesa/main/get_hash_params.py
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e591b0b2065aed823b0da7a6c1f2f096057702b9
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Sep 13 15:17:29 2016 -0700
nir: Call nir_metadata_preserve from nir_lower_alu_to_scalar().
This is mandatory.
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
(cherry picked from commit e6eed3533e578f29e1e40c5db10c44df003fc8da)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=96aa7ca98c1c678b918c3d25de2fc737a656c1dd
Author: Brendan King <Brendan.King at imgtec.com>
Date: Tue Sep 13 17:31:05 2016 +0100
configure.ac: fix the name of the Wayland Scanner pc file
The Wayland Scanner pkg-config file is called wayland-scanner.pc.
Fixes: 153539bd9d4445b50411 ("configure: rework wayland_scanner
handling (fix make distcheck)")
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
Tested-by: Eric Engestrom <eric.engestrom at imgtec.com>
Signed-off-by: Brendan King <Brendan.King at imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
(cherry picked from commit 95f3e5861c3dec5d029ee2f07b8ebce6e2f73af1)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b1c5719d7b1be2f6fb438252614a2008f54159d7
Author: Marek Olšák <marek.olsak at amd.com>
Date: Mon Sep 12 01:38:53 2016 +0200
radeonsi: fix FP64 UBO loads with indirect uniform block indexing
No known tests.
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit 15a127bc2c3267f35e0d78ebc205e1686a5a5e3f)
[Emil Velikov: resolve trivial conflicts]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Conflicts:
src/gallium/drivers/radeonsi/si_shader.c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ec1f6700b6850fc37864ce5354ecc50115f5d0c5
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sun Sep 11 13:37:30 2016 -0400
st/mesa: fix is_scissor_enabled when X/Y are negative
Similar to commit 49c24d8a24 ("i965: fix noop_scissor range issue on
width/height") - take the X/Y into account to determine whether the
scissor covers the whole area or not.
Fixes the recently-added gl-1.0-scissor-depth-clear-negative-xy piglit
test.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Cc: <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 742832434abc8caff2425fcc174966b2834ac552)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b2495c220264a84e1c3d441eb4dd97be49ad067f
Author: Julien Isorce <j.isorce at samsung.com>
Date: Sat Sep 3 09:10:21 2016 +0100
st/va: also honors interlaced preference when providing a video format
This fixes a crash when using the prefered video format with vaapisink
on Nvidia hardwares.
Also caught by the following assert:
nouveau_vp3_video.c:91: Assertion `templat->interlaced' failed.
TEST= gst-launch-1.0 videotestsrc ! video/x-raw, format=NV12 ! vaapisink
Cc: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Julien Isorce <j.isorce at samsung.com>
Tested-by: Víctor Manuel Jáquez Leal <vjaquez at igalia.com>
Tested-by: Boyuan Zhang <boyuan.zhang at amd.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
(cherry picked from commit bf901a2f8c8954e55a3eebc6cd1b725f18802012)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7ad97bc3071406a448693f9d51acbfa5109b0f45
Author: Chuanbo Weng <chuanbo.weng at intel.com>
Date: Tue Sep 6 17:28:43 2016 +0800
gbm: fix potential NULL deref of mapImage/unmapImage.
The mapImage/unmapImage functions of DRIimage extension can be NULL,
so we should add additional check for them.
Cc: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Chuanbo Weng <chuanbo.weng at intel.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
(cherry picked from commit 9a1eb5423722955bee5c5b5f48fb058f0884fab0)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=106f2dc8a7a92faeca798b39d4cdad23562847e9
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sat Sep 10 12:53:37 2016 -0400
gm107/ir: AL2P writes to a predicate register
We have to force it to write to predicate 7 (aka PT) in order for it not
to mess up another predicate. Unclear what would be returned in the
predicate, perhaps an error code for out-of-bounds requests. Blob
doesn't seem to check it.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit a22aee5ad1154918aff77af5102fecd2aa39a631)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a3c232db2f20cbf998cd0ed4aac166726cf61c9f
Author: Marek Olšák <marek.olsak at amd.com>
Date: Fri Jul 29 16:33:50 2016 +0200
radeonsi: take compute shader and dispatch indirect memory usage into account
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit e62caf576e1c521d4d80c359f040a9978596e27d)
Squashed with commit:
radeonsi: flush TC L2 before using a compute indirect buffer
There is no known test for this.
Cc: 12.0 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit 08bcbfdc07ed6ba371998b00deb7a2a67357c6af)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f75a1084349f2332aa080d77acc175ddbe0ab886
Author: Max Staudt <mstaudt at suse.de>
Date: Thu Sep 8 01:53:45 2016 +0200
r300g: Set R300_VAP_CNTL on RSxxx to avoid triangle flickering
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 at lists.freedesktop.org>
Signed-off-by: Max Staudt <mstaudt at suse.de>
Signed-off-by: Dave Airlie <airlied at redhat.com>
(cherry picked from commit 02675622b02742960678c438f1b239321c075f50)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=258e651e0f0f1392943f5bcad9f0c3035f1a79d2
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Tue Sep 6 18:44:52 2016 -0700
nir/spirv: Refactor variable deocration handling
Previously, we dind't apply variable decorations to the members of a split
structure variable. This doesn't quite work, unfortunately, because things
such as the "flat" qualifier may get applied to an entire structure instead
of propagated to the members. This fixes 9 of the new CTS tests in the
dEQP-VK.glsl.linkage.varying.struct.* group.
Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit a00bd7bc274c9d014883c08a5144f2a1db10ab80)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=662a7c627b6a54a2120cb5628d9cee7502862bb5
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Tue Sep 6 18:33:14 2016 -0700
nir/spirv: Break variable decoration handling into a helper
Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit f5505730d3a574f151205366643e2dabec6514b3)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed8e99761dbcde07500b867e6dd66d07b3e41507
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sun Sep 4 22:46:13 2016 -0400
nir: fix definition of pack_uvec2_to_uint
Found by inspection. Untested beyond compilation. This also matches the
logic used in nir_lower_alu_to_scalar.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit 8c8874eafbe5f7cbb5d413ae1be660c9f001ced5)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=98c9fcf259a07848d71d7c82e3f69cfadc76b008
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sat Sep 3 14:31:44 2016 -0400
mesa/formatquery: limit ES target support, fix core context support
First off, as late as ES 3.2, GetInternalformat only supports
RENDERBUFFER and 2DMS(_ARRAY) targets.
Secondly, the _mesa_has_ext helpers are very accurate... a little too
accurate, some might say. If we only show an extension in compat
profiles because core profiles have the functionality guaranteed, they
will return false. Fix these to either check for a core profile
explicitly, or to a different-but-identical extension available in core
profile.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Matteo Bruni <matteo.mystral at gmail.com>
Tested-by: Matteo Bruni <matteo.mystral at gmail.com>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit c42acd93d47452eec492400d1f3e7c66dd9bb672)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5eabc81d50332ab5e6d5001ef258d5c14e08e0e2
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sat Sep 3 20:19:56 2016 -0400
main: GL_RGB10_A2UI does not come with GL 3.0/EXT_texture_integer
Add a separate extension check for that format. Prevents glTexImage from
trying to find a matching format, which fails on drivers without support
for this format.
Fixes: sized-texture-format-channels (on a3xx)
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit 36347c8d6f265fb9b8ebcd598b189d3b43d6b513)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2fbce4c9e1eea629af41cd1fa96abc8e09729d77
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Tue Sep 6 15:13:42 2016 -0700
nir/spirv: Use the correct sources for CompareExchange on images
The CompareExchange operation has two "Memory Semantics" parameters instead
of one so the real arguments start at w[7] instead of w[6].
Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Dave Airlie <airlied at redhat.com>
(cherry picked from commit f2a10937d8024cce25da2f4b764b2b8a61d6398e)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ab6126bb1d556778c60173026971bcdf7195e03b
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Tue Sep 6 15:02:31 2016 -0700
nir/spirv: Swap the argument order for AtomicCompareExchange
SPIR-V has the two arguments in the opposite order from GLSL. NIR uses the
GLSL order so we had them backwards.
Fixes dEQP-VK.spirv_assembly.instruction.compute.opatomic.compex
Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Dave Airlie <airlied at redhat.com>
(cherry picked from commit 0ead7bef6b24add7bf0119f8d5f63e4ff806ec72)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f5de7da4e1635d928cad482b73cdfbfaf91c1d09
Author: Marek Olšák <marek.olsak at amd.com>
Date: Fri Aug 19 19:52:14 2016 +0200
radeonsi: fix cubemaps viewed as 2D
This fixes: GL43-CTS.texture_view.view_sampling
v2: fix a typo, merge both if statements
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Dave Airlie <airlied at redhat.com> (v1)
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl> (v1)
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
(cherry picked from commit a4fa21505883ec9eef905079a5160d07ffc67ae7)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=05ec6a7c03ce0b3c38b081f7947aeaa47b1d7e81
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Tue Aug 30 22:42:24 2016 -0400
a3xx: use window scissor to simulate viewport xy clip
Unfortunately a3xx does not have a separate disable for depth clipping,
so when depth clamp is enabled, we disable the whole 3d clipper logic.
This in turn also gets rid of the xy clip that it would normally do.
When we detect this would happen, instead we integrate the viewport into
the window scissor. This may have slightly different behavior around
wide points, but it's unlikely that anything depends on this.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97231
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit ca313e00b6eda27e4308c29fd7244f43c77d4f97)
[Emil Velikov: s|batch->||g]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Conflicts:
src/gallium/drivers/freedreno/a3xx/fd3_emit.c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dee992caa1992c5893748b00ae83c51f4b1f3ba2
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sat Aug 20 00:14:43 2016 -0400
a3xx: make use of software clipping when hw can't handle it
The hw clipper only handles up to 6 UCPs. If there are more than 6 UCPs,
or a clip vertex, or clip distances are in use, then we must use the
fallback discard-based clipping from the frag shader.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit 83d7230fd5ab69e7e111e3a02e604e65922fb171)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=68620d14d42c4052ae0fb6468c522cbc8c3508b7
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sun Aug 14 23:58:18 2016 -0400
a3xx: make sure to actually clamp depth as requested
We were previously ... not clamping. I guess this meant that everything
got clamped to 1/0, which was enough to pass the existing tests. Or
perhaps the clamping would only happen to the rasterized depth value and
not the frag shader's output depth value.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97231
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit dac72234c74b8cf4da516b915ed03efd8e2f9922)
[Emil Velikov: s|batch->||g]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=42a890891caa5cf10b209d073e14fdb7f0e57266
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Wed Aug 31 02:12:08 2016 -0400
nv30: set usage to staging so that the buffer is allocated in GART
The code a few lines below expects to migrate the bo in question to
VRAM. Since we're filling the initial data via CPU, it's more efficient
to create the temporary buffer in GART. There is no "push" method
implemented, otherwise we'd use that instead.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: mesa-stable at lists.freedesktop.org
(cherry picked from commit 6118bcab4e9f57b834578afb34256d793efe83d0)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d3d33918c79d9e87aedaf6f70ed39f75eed262a0
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Wed Aug 17 17:02:04 2016 +0900
loader/dri3: Overhaul dri3_update_num_back
Always use 3 buffers when flipping. With only 2 buffers, we have to wait
for a flip to complete (which takes non-0 time even with asynchronous
flips) before we can start working on the next frame. We were previously
only using 2 buffers for flipping if the X server supports asynchronous
flips, even when we're not using asynchronous flips. This could result
in bad performance (the referenced bug report is an extreme case, where
the inter-frame stalls were preventing the GPU from reaching its maximum
clocks).
I couldn't measure any performance boost using 4 buffers with flipping.
Performance actually seemed to go down slightly, but that might have
been just noise.
Without flipping, a single back buffer is enough for swap interval 0,
but we need to use 2 back buffers when the swap interval is non-0,
otherwise we have to wait for the swap interval to pass before we can
start working on the next frame. This condition was previously reversed.
Cc: "12.0 11.2" <mesa-stable at lists.freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97260
Reviewed-by: Frank Binns <frank.binns at imgtec.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
(cherry picked from commit 1e3218bc5ba2b739261f0c0bacf4eb662d377236)
Squashed with commit:
loader/dri3: Always use at least two back buffers
This can make a significant difference for performance with some extreme
test cases such as vblank_mode=0 glxgears.
Fixes: 1e3218bc5ba2 ("loader/dri3: Overhaul dri3_update_num_back")
Cc: "12.0 11.2" <mesa-stable at lists.freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97549
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
(cherry picked from commit dc3bb5db8c81e7f08ae12ea5d3ee999e2afcbfd1)
More information about the mesa-commit
mailing list