OSDN Git Service

android-x86/external-mesa.git
6 years agodocs: add release notes for 17.1.10
Juan A. Suarez Romero [Mon, 25 Sep 2017 15:18:24 +0000 (15:18 +0000)]
docs: add release notes for 17.1.10

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
6 years agoUpdate version to 17.1.10
Juan A. Suarez Romero [Mon, 25 Sep 2017 14:56:36 +0000 (14:56 +0000)]
Update version to 17.1.10

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
6 years agomesa: free current ComputeProgram state in _mesa_free_context_data
Tapani Pälli [Wed, 20 Sep 2017 06:29:16 +0000 (09:29 +0300)]
mesa: free current ComputeProgram state in _mesa_free_context_data

This is already done for other programs stages, fixes a leak when using
compute programs.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Cc: mesa-stable@lists.freedesktop.org
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102844
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
(cherry picked from commit 589457d97fa8e95f227e7179e9c89a01dff495a0)

6 years agoosmesa: link with libunwind if enabled (v2)
Alexandre Demers [Fri, 26 May 2017 03:09:00 +0000 (21:09 -0600)]
osmesa: link with libunwind if enabled (v2)

Fixes linking error in libOSmesa when using libunwind.

CXXLD    libOSMesa.la
src/gallium/auxiliary/.libs/libgallium.a(u_debug_stack.o): In function `symbol_name_cached':
./src/gallium/auxiliary/util/u_debug_stack.c:87: undefined reference to `_ULx86_64_get_proc_name'
src/gallium/auxiliary/.libs/libgallium.a(u_debug_stack.o): In function `debug_backtrace_capture':
./src/gallium/auxiliary/util/u_debug_stack.c:114: undefined reference to `_Ux86_64_getcontext'
./src/gallium/auxiliary/util/u_debug_stack.c:115: undefined reference to `_ULx86_64_init_local'
./src/gallium/auxiliary/util/u_debug_stack.c:117: undefined reference to `_ULx86_64_step'
./src/gallium/auxiliary/util/u_debug_stack.c:123: undefined reference to `_ULx86_64_get_reg'
./src/gallium/auxiliary/util/u_debug_stack.c:124: undefined reference to `_ULx86_64_get_proc_info'
./src/gallium/auxiliary/util/u_debug_stack.c:120: undefined reference to `_ULx86_64_step'
collect2: error: ld returned 1 exit status

v2 : Fixes title and adds the original error it is fixing.

Signed-off-by: Alexandre Demers <alexandre.f.demers@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit a958a30827aebd17471c0933695e68ad1c1c6ff0)

6 years agocherry-ignore: add "glsl/linker: fix output variable overlap check"
Juan A. Suarez Romero [Wed, 20 Sep 2017 20:52:06 +0000 (22:52 +0200)]
cherry-ignore: add "glsl/linker: fix output variable overlap check"

This commit is causing several regressions on i965 driver.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
6 years agoradeonsi: fix array textures layer coordinate
Nicolai Hähnle [Sun, 17 Sep 2017 14:00:38 +0000 (16:00 +0200)]
radeonsi: fix array textures layer coordinate

Like for cube map (array) gather, we need to round to nearest on <= VI.

Fixes tests in dEQP-GLES3.functional.shaders.texture_functions.texture.*

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
(cherry picked from commit 87f7c7bd6566dbd95214df9b058bca5e6573374e)
[Juan A. Suarez: apply patch over si_shader.c]
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Conflicts:
src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c

6 years agoradeonsi: set MIP_POINT_PRECLAMP to 0
Nicolai Hähnle [Sun, 17 Sep 2017 16:03:04 +0000 (18:03 +0200)]
radeonsi: set MIP_POINT_PRECLAMP to 0

This fixes a bug with nearest ("point") mip selection when the fractional
part of max_lod is in (0.5,1). In this case, the spec mandates that
we still select the mip level ceil(max_lod) in the clamping case. However,
MIP_POINT_PRECLAMP will clamp before the mip selection, which is wrong.

Supposedly this setting was originally copied from the closed Vulkan
driver, but as far as I can tell, closed Vulkan was actually changed back
recently :)

Fixes dEQP-GLES3.functional.texture.mipmap.2d.max_lod.{nearest,linear}_nearest

Fixes: f7420ef5b464 ("radeonsi: enable some sampler fields to match the closed driver")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 704ddbcdf693079d417d831abe073caad008ab01)

6 years agoanv: Fix descriptors copying
Józef Kucia [Sat, 16 Sep 2017 12:23:43 +0000 (14:23 +0200)]
anv: Fix descriptors copying

Trivial.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
(cherry picked from commit 65a09f98ad1411982ce68de7a2d05942d608e674)

6 years agoswr: invalidate attachment on transition change
George Kyriazis [Thu, 15 Jun 2017 19:39:36 +0000 (14:39 -0500)]
swr: invalidate attachment on transition change

Consider the following RT attachment order:
1. Attach surfaces attachments 0 & 1, and render with them
2. Detach 0 & 1
3. Re-attach 0 & 1 to different surfaces
4. Render with the new attachment

The definition of a tile being resolved is that local changes have been
flushed out to the surface, hence there is no need to reload the tile before
it's written to.  For an invalid tile, the tile has to be reloaded from
the surface before rendering.

Stage (2) was marking hot tiles for attachements 0 & 1 as RESOLVED,
which means that the hot tiles can be written out to memory with no
need to read them back in (they are "clean").  They need to be marked as
resolved here, because a surface may be destroyed after a detach, and we
don't want to have un-resolved tiles that may force a readback from a
NULL (destroyed) surface.  (Part of a destroy is detach all attachments first)

Stage (3), during the no att -> att transition, we  need to realize that the
"new" surface tiles need to be fetched fresh from the new surface, instead
of using the resolved tiles, that belong to a stale attachment.

This is done by marking the hot tiles as invalid in stage (3), when we realize
that a new attachment is being made, so that they are re-fetched during
rendering in stage (4).

Also note that hot tiles are indexed by attachment.

- Fixes VTK dual depth-peeling tests.
- No piglit changes

Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
(cherry picked from commit 08cb8cf2566719307203d6a7ae4c1d8b56342bd1)

6 years agobroadcom/vc4: Fix use-after-free when deleting a program.
Eric Anholt [Tue, 19 Sep 2017 00:47:44 +0000 (17:47 -0700)]
broadcom/vc4: Fix use-after-free when deleting a program.

By leaving the compiled shader in the context's stage state, the next
compile of a new FS would look in the old compiled FS for figuring out
whether to set various dirty flags for the VS compile.  Clear out the
pointer when deleting the program, and make sure that we always mark the
state as dirty if the previous program had been lost.  Fixes valgrind
warnings on glsl-max-varyings.

Fixes: 2350569a78c6 ("vc4: Avoid VS shader recompiles by keeping a set of FS inputs seen so far.")
(cherry picked from commit 3752ad28f23fc8136f75104b6ac4572341a05467)

6 years agobroadcom/vc4: Fix use-after-free trying to mix a quad and tile clear.
Eric Anholt [Mon, 18 Sep 2017 22:17:31 +0000 (15:17 -0700)]
broadcom/vc4: Fix use-after-free trying to mix a quad and tile clear.

The blitter will bind just the depth buffer, which flushes the current job
if we had both a color and depth/stencil.  If the clear was doing partial
depth/stencil (quad-based) and color (tile-based), we'd go on to try to
set up the rest of the tile clear in the now flushed job.

Instead, move the partial clear up before we start setting up the job for
the current FBO state, and re-fetch the job if we're continuing on to a
tile-based clear.  Fixes valgrind failures in fbo-depthtex.

Fixes: 9421a6065c4e ("vc4: Fix fallback to quad clears of depth in GLX.")
(cherry picked from commit 9940fb42058e0b0815e0edb202ca69b7853aead5)

6 years agobroadcom/vc4: Fix use-after-free for flushing when writing to a texture.
Eric Anholt [Mon, 18 Sep 2017 21:52:32 +0000 (14:52 -0700)]
broadcom/vc4: Fix use-after-free for flushing when writing to a texture.

I was trying to continue the hash table loop, not the inner loop.  This
tended to work out, because we would have *just* freed the job struct.
Fixes some valgrind failures in fbo-depthtex.

Fixes: f597ac396640 ("vc4: Implement job shuffling")
(cherry picked from commit d88a75182d5fccb956fbfccddf627aa1831465be)

6 years agocherry-ignore: add "radv: Check for GFX9 for 1D arrays in image_size intrinsic."
Juan A. Suarez Romero [Wed, 20 Sep 2017 09:26:13 +0000 (09:26 +0000)]
cherry-ignore: add "radv: Check for GFX9 for 1D arrays in image_size intrinsic."

fixes:  This commit addressed an earlier commit 1bcb953e166 which did not
land in branch.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
6 years agost/glsl->tgsi: fix u64 to bool comparisons.
Dave Airlie [Thu, 14 Sep 2017 04:03:19 +0000 (05:03 +0100)]
st/glsl->tgsi: fix u64 to bool comparisons.

Otherwise we end up using a 32-bit comparison which didn't end well.

Timothy caught this while playing around with some opt passes.

Fixes: 278580729a (st/glsl_to_tgsi: add support for 64-bit integers)
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
(cherry picked from commit a7a7bf21bdf0cf8e59f8c8e17c2580a363be7055)

6 years agocherry-ignore: add "ac/surface: handle S8 on gfx9"
Juan A. Suarez Romero [Wed, 20 Sep 2017 08:20:48 +0000 (08:20 +0000)]
cherry-ignore: add "ac/surface: handle S8 on gfx9"

stable: 17.2 nomination only.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
6 years agocherry-ignore: add "Scons: Add LLVM 5.0 support"
Juan A. Suarez Romero [Wed, 20 Sep 2017 08:17:30 +0000 (08:17 +0000)]
cherry-ignore: add "Scons: Add LLVM 5.0 support"

stable: 17.2 nomination only.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
6 years agocherry-ignore: add "radeonsi: workaround for gather4 on integer cube maps"
Juan A. Suarez Romero [Wed, 20 Sep 2017 08:52:20 +0000 (08:52 +0000)]
cherry-ignore: add "radeonsi: workaround for gather4 on integer cube maps"

stable: 17.2 nomination only. Depends on earlier commit 5cb2eee557
which did not land in branch.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
6 years agoutil/u_atomic: Add implementation of __sync_val_compare_and_swap_8
Matt Turner [Thu, 14 Sep 2017 18:00:26 +0000 (11:00 -0700)]
util/u_atomic: Add implementation of __sync_val_compare_and_swap_8

Needed for 32-bit PowerPC.

Cc: "17.2" <mesa-stable@lists.freedesktop.org>
Fixes: a6a38a038bd ("util/u_atomic: provide 64bit atomics where
they're missing")
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
(cherry picked from commit 1bbe18087312e1b8ccdba6ca6dd8f1c9740a8454)

6 years agoutil: Link libmesautil into u_atomic_test
Matt Turner [Thu, 14 Sep 2017 17:48:57 +0000 (10:48 -0700)]
util: Link libmesautil into u_atomic_test

Platforms without particular atomic operations require the
implementations in u_atomic.c

Cc: "17.2" <mesa-stable@lists.freedesktop.org>
Fixes: a6a38a038bd ("util/u_atomic: provide 64bit atomics where
they're missing")
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
(cherry picked from commit d075a4089ec62c489c8a3423f82371bf85f2ea6c)
[Juan A. Suarez: resolve trivial conflicts]
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Conflicts:
src/util/Makefile.am

6 years agocherry-ignore: add "amd/common: add workaround for cube map array layer clamping"
Juan A. Suarez Romero [Tue, 19 Sep 2017 16:33:06 +0000 (16:33 +0000)]
cherry-ignore: add "amd/common: add workaround for cube map array layer clamping"

fixes: Depends on earlier commit 13a28ff2368 that did not land in
branch.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
6 years agoamd/common: round cube array slice in ac_prepare_cube_coords
Nicolai Hähnle [Wed, 13 Sep 2017 08:47:02 +0000 (10:47 +0200)]
amd/common: round cube array slice in ac_prepare_cube_coords

The NIR-to-LLVM pass already does this; now the same fix covers
radeonsi as well.

Fixes various tests of
dEQP-GLES31.functional.texture.filtering.cube_array.combinations.*

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit e0af3bed2cb52b5d8cf1da08b42cf28bae131c76)
[Juan A. Suarez: resolve trivial conflicts. Apply patch into
si_shader.c]
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Conflicts:
src/amd/common/ac_nir_to_llvm.c
src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c

6 years agoi965/blorp: Set r8stencil_needs_update when writing stencil
Jason Ekstrand [Sat, 17 Jun 2017 20:50:30 +0000 (13:50 -0700)]
i965/blorp: Set r8stencil_needs_update when writing stencil

This fixes a crash on Haswell when we try to upload a stencil texture
with blorp.  It would also be a problem if someone tried to texture from
stencil after glBlitFramebuffers.

Cc: "17.2 17.1" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
(cherry picked from commit a43d379000260485fc4b2b03b069aedc46879557)
[Juan A. Suarez: resolve trivial conflicts]
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Conflicts:
src/mesa/drivers/dri/i965/brw_blorp.c

6 years agoautomake: enable libunwind in `make distcheck'
Emil Velikov [Mon, 11 Sep 2017 17:13:55 +0000 (18:13 +0100)]
automake: enable libunwind in `make distcheck'

Enable the toggle to catch when the library is missing from the link
path. Better to test, fail and address before releasing Mesa ;-)

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit 9aba643e3ca30151a5395ea835487420a849f69d)

6 years agotravis: Add libunwind-dev to gallium/make builds
Gert Wollny [Thu, 14 Sep 2017 10:27:42 +0000 (12:27 +0200)]
travis: Add libunwind-dev to gallium/make builds

libunwind is a optional dependency used by the gallium aux module
(libgallium) and consequently the final binaries must be linked against
it. To test whether the library is properly specified in the link pass
add it to the travis-ci build environment and force its use.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
(cherry picked from commit 39fe51c1e33e13dd1cc5c3ffb5b8a85da6fbce5c)

6 years agotravis: force llvm-3.3 for "make Gallium ST Other"
Gert Wollny [Thu, 14 Sep 2017 10:27:41 +0000 (12:27 +0200)]
travis: force llvm-3.3 for "make Gallium ST Other"

In Ubuntu Trusty the default version of llvm is 3.4 and the build was
actually randomly picking 3.5 or 3.9. Adding libunwind would then result
is build success or failure depending of what version was picked.

Install the llvm-3.3-dev package and force its use: On one hand it is
the minimum required version we want to the build test against, and on
the other hand forcing the version stabilizes the build.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
(cherry picked from commit d3675812b53ae5583d693859c4973ccca9a9fb2e)

6 years agocherry-ignore: add "radv/nir: call opt_remove_phis after trivial continues."
Juan A. Suarez Romero [Tue, 19 Sep 2017 13:54:15 +0000 (15:54 +0200)]
cherry-ignore: add "radv/nir: call opt_remove_phis after trivial continues."

stable: 17.2. nomination only.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
6 years agocherry-ignore: add "ac/surface: match Z and stencil tile config"
Juan A. Suarez Romero [Tue, 19 Sep 2017 12:04:46 +0000 (14:04 +0200)]
cherry-ignore: add "ac/surface: match Z and stencil tile config"

stable: 17.2 nomination only. Depends on earlier commit f187a4932
which did not land in branch.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
6 years agoradeonsi: apply a mask to gl_SampleMaskIn in the PS prolog
Nicolai HÃ\83¤hnle [Sun, 10 Sep 2017 17:19:40 +0000 (19:19 +0200)]
radeonsi: apply a mask to gl_SampleMaskIn in the PS prolog

gl_SampleMaskIn is supposed to contain set bits only for the samples that
are covered by the current fragment shader invocation, but the VGPR
initialization hardware loads the set of all bits that are covered at the
current pixel.

Fixes various tests in
dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.*

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
(cherry picked from commit 92c4277990799641d4986ce66a62366228713945)
[Juan A. Suarez: resolve trivial conflicts]
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Conflicts:
src/gallium/drivers/radeonsi/si_shader.c

6 years agocherry-ignore: add "radv: Don't allocate CMASK for linear images."
Andres Gomez [Thu, 14 Sep 2017 07:17:52 +0000 (10:17 +0300)]
cherry-ignore: add "radv: Don't allocate CMASK for linear images."

fixes: Depends on earlier commit dfc06d2fac that did not land in
branch.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "radv: Disable multilayer & multilevel DCC."
Andres Gomez [Wed, 13 Sep 2017 16:07:38 +0000 (19:07 +0300)]
cherry-ignore: add "radv: Disable multilayer & multilevel DCC."

fixes: We don't really want to disable something unless it is causing
a big problem.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "docs/egl: remove reference to EGL_DRIVERS_PATH"
Andres Gomez [Wed, 13 Sep 2017 16:03:35 +0000 (19:03 +0300)]
cherry-ignore: add "docs/egl: remove reference to EGL_DRIVERS_PATH"

fixes: It only fixes documentation.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "radv/gfx9: fix image resource handling."
Andres Gomez [Wed, 13 Sep 2017 16:01:31 +0000 (19:01 +0300)]
cherry-ignore: add "radv/gfx9: fix image resource handling."

stable: 17.2 nomination only.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agoradv/ac: bump params array for image atomic comp swap
Dave Airlie [Wed, 13 Sep 2017 05:15:11 +0000 (22:15 -0700)]
radv/ac: bump params array for image atomic comp swap

For the comp_swap case this was overflowing and crashing
sometimes.

Fixes:
dEQP-VK.image.atomic_operations.compare_exchange.*

Cc: "17.2" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit aba441be44a2e4bb914e805c4cd064c72e4ea038)

6 years agocherry-ignore: add "radv/gfx9: set mip0-depth correctly for 2d arrays/3d images"
Andres Gomez [Wed, 13 Sep 2017 13:26:23 +0000 (16:26 +0300)]
cherry-ignore: add "radv/gfx9: set mip0-depth correctly for 2d arrays/3d images"

stable: 17.2 nomination only.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "radv: gfx9 fixes"
Andres Gomez [Wed, 13 Sep 2017 13:06:21 +0000 (16:06 +0300)]
cherry-ignore: add "radv: gfx9 fixes"

stable: 17.2 nomination only.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "intel/eu/validate: Look up types on demand in execution_type()"
Andres Gomez [Wed, 13 Sep 2017 12:41:19 +0000 (15:41 +0300)]
cherry-ignore: add "intel/eu/validate: Look up types on demand in execution_type()"

stable: 17.2 nomination only. Depends on earlier commit 4fab67a4415
which did not land in branch.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "radeonsi: don't always apply the PrimID instancing bug workaround...
Andres Gomez [Wed, 13 Sep 2017 12:29:11 +0000 (15:29 +0300)]
cherry-ignore: add "radeonsi: don't always apply the PrimID instancing bug workaround on SI"

fixes: References 391673af but it is not really a bug fix.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agoegl/x11/dri3: adding missing __DRI_BACKGROUND_CALLABLE extension
Emil Velikov [Thu, 3 Aug 2017 18:29:27 +0000 (19:29 +0100)]
egl/x11/dri3: adding missing __DRI_BACKGROUND_CALLABLE extension

Fixes: 3b7b6adf3ac ("egl: Implement __DRI_BACKGROUND_CALLABLE")
Cc: Timothy Arceri <tarceri@itsqueeze.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
(cherry picked from commit f24bc1816242895d0bc0711a50bd2dfd3cb8b21a)

6 years agost/glsl_to_tgsi: only the first (inner-most) array reference can be a 2D index
Nicolai Hähnle [Thu, 7 Sep 2017 16:43:42 +0000 (18:43 +0200)]
st/glsl_to_tgsi: only the first (inner-most) array reference can be a 2D index

Don't get distracted by record dereferences between array references.

Fixes dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex_block.*

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
(cherry picked from commit 03203b74486357c2bc77c53302f0f667f1df3ffa)

6 years agocherry-ignore: add "radv: use simpler indirect packet 3 if possible."
Andres Gomez [Mon, 11 Sep 2017 14:09:42 +0000 (17:09 +0300)]
cherry-ignore: add "radv: use simpler indirect packet 3 if possible."

stable: 17.2 nomination only.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "radv: use amdgpu_bo_va_op_raw."
Andres Gomez [Mon, 11 Sep 2017 14:07:35 +0000 (17:07 +0300)]
cherry-ignore: add "radv: use amdgpu_bo_va_op_raw."

stable: 17.2 nomination only.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "st/mesa: skip draw calls with pipe_draw_info::count == 0"
Andres Gomez [Mon, 11 Sep 2017 13:56:22 +0000 (16:56 +0300)]
cherry-ignore: add "st/mesa: skip draw calls with pipe_draw_info::count == 0"

stable: 17.2 nomination only.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agodocs: add sha256 checksums for 17.1.9
Andres Gomez [Fri, 8 Sep 2017 23:09:33 +0000 (02:09 +0300)]
docs: add sha256 checksums for 17.1.9

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agodocs: add release notes for 17.1.9
Andres Gomez [Fri, 8 Sep 2017 22:59:59 +0000 (01:59 +0300)]
docs: add release notes for 17.1.9

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agoUpdate version to 17.1.9
Andres Gomez [Fri, 8 Sep 2017 22:50:45 +0000 (01:50 +0300)]
Update version to 17.1.9

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "radeonsi/gfx9: proper workaround for LS/HS VGPR initialization...
Andres Gomez [Wed, 6 Sep 2017 18:32:58 +0000 (21:32 +0300)]
cherry-ignore: add "radeonsi/gfx9: proper workaround for LS/HS VGPR initialization bug"

fixes: References 166823bf but it is not really a bug fix, just an
enhancement.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "radv: Fix vkCopyImage with both depth and stencil aspects."
Andres Gomez [Wed, 6 Sep 2017 18:29:52 +0000 (21:29 +0300)]
cherry-ignore: add "radv: Fix vkCopyImage with both depth and stencil aspects."

fixes: Depends on earlier commit 78bef01da2b that did not land in
branch.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "radeonsi/gfx9: always flush DB metadata on framebuffer changes"
Andres Gomez [Wed, 6 Sep 2017 18:23:10 +0000 (21:23 +0300)]
cherry-ignore: add "radeonsi/gfx9: always flush DB metadata on framebuffer changes"

stable: 17.2 nomination only. Depends on earlier commit 5b62eb237c52
which did not land in branch.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "i965: Fix crash in fallback GTT mapping."
Andres Gomez [Mon, 4 Sep 2017 11:01:17 +0000 (14:01 +0300)]
cherry-ignore: add "i965: Fix crash in fallback GTT mapping."

stable: 17.2 nomination only. Depends on earlier commit f37ede40bad
which did not land in branch.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "nir: Fix system_value_from_intrinsic for subgroups"
Andres Gomez [Tue, 29 Aug 2017 07:29:16 +0000 (10:29 +0300)]
cherry-ignore: add "nir: Fix system_value_from_intrinsic for subgroups"

stable: 17.2 nomination only. Depends on earlier commit 43ef75b394f
which did not land in branch.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: added 17.2 nominations.
Andres Gomez [Wed, 30 Aug 2017 14:13:13 +0000 (17:13 +0300)]
cherry-ignore: added 17.2 nominations.

stable: 17.2 nominations only.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agoutil: improve compiler guard
Eric Engestrom [Thu, 31 Aug 2017 16:55:56 +0000 (16:55 +0000)]
util: improve compiler guard

Glibc 2.26 has dropped xlocale.h, but the functions needed (strtod_l()
and strdof_l()) can be found in stdlib.h.
Improve the detection method to allow newer builds to still make use of
the locale-setting.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102454
Cc: Laurent Carlier <lordheavym@gmail.com>
Cc: Emil Velikov <emil.l.velikov@gmail.com>
Cc: Rob Herring <robh@kernel.org>
Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Laurent Carlier <lordheavym@gmail.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
(cherry picked from commit 49b428470e28ae6ab22083e43fa41abf622f3b0d)

6 years agospirv: Add support for the HelperInvocation builtin
Jason Ekstrand [Tue, 22 Aug 2017 05:11:49 +0000 (22:11 -0700)]
spirv: Add support for the HelperInvocation builtin

I have no idea how this got missed but it's been missing since forever.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit e439908af9665b50443f1196cb55388c69d0c7d7)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <agomez@igalia.com>
Conflicts:
src/compiler/spirv/vtn_variables.c

6 years agoradv: Actually set the cmd_buffer usage_flags.
Bas Nieuwenhuizen [Sun, 3 Sep 2017 21:35:37 +0000 (23:35 +0200)]
radv: Actually set the cmd_buffer usage_flags.

Otherwise, the simultaneous uage bit doesn't get set from the begin
info, which we need for batchchaining.

Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver"
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit dec7b38fe62a1db46c5150a7368d3bb3c5e45305)

6 years agost/mesa: fix view template initialization in try_pbo_readpixels
Roland Scheidegger [Thu, 31 Aug 2017 23:48:42 +0000 (01:48 +0200)]
st/mesa: fix view template initialization in try_pbo_readpixels

I think this is what the code was meant to do, albeit as far as I can tell
the redundant initialization some analyzers complain about should work as
well just fine (only the first layer will be used, if the view contains one
or more layers doesn't really matter).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102467
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 2b2c61f0df5c18355b65772d21be36339ba5e1d9)

6 years agonvc0: write 0 to pipeline_statistics.cs_invocations
Karol Herbst [Sun, 27 Aug 2017 16:00:52 +0000 (18:00 +0200)]
nvc0: write 0 to pipeline_statistics.cs_invocations

cs_invocations are currently unsupported, but leaving the field uninitialized
is even worse.

fixes on nvc0:
 * KHR-GL45.pipeline_statistics_query_tests_ARB.functional_default_qo_values
 * KHR-GL45.pipeline_statistics_query_tests_ARB.functional_non_rendering_commands_do_not_affect_queries

Signed-off-by: Karol Herbst <karolherbst@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit b672c3833b7ea51c09a6bcbed86b8fb6789448f1)

6 years agollvmpipe: lp_build_gather_elem_vec BE fix for 3x16 load
Ben Crocker [Wed, 23 Aug 2017 20:32:43 +0000 (16:32 -0400)]
llvmpipe: lp_build_gather_elem_vec BE fix for 3x16 load

Fix loading of a 3x16 vector as a single 48-bit load
on big-endian systems (PPC64, S390).

Roland Scheidegger's commit e827d9175675aaa6cfc0b981e2a80685fb7b3a74
plus Ray Strode's patch reduce pre-Roland Piglit failures from ~4000 to ~2000.  This patch fixes
three of the four regressions observed by Ray:

- draw-vertices
- draw-vertices-half-float
- draw-vertices-half-float_gles2

One regression remains:
- draw-vertices-2101010

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100613
Cc: "17.2" "17.1" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Ben Crocker <bcrocker@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
(cherry picked from commit 57c8ead0cd08e6aaf88a389f7ce528c4f0face65)

6 years agogallivm: correct channel shift logic on big endian
Ray Strode [Wed, 23 Aug 2017 20:32:42 +0000 (16:32 -0400)]
gallivm: correct channel shift logic on big endian

lp_build_fetch_rgba_soa fetches a texel from a texture.
Part of that process involves first gathering the element
together from memory into a packed format, and then breaking
out the individual color channels into separate, parallel
arrays.

The code fails to account for endianess when reading the packed
values.

This commit attempts to correct the problem by reversing the order
the packed values are read on big endian systems.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100613
Cc: "17.2" "17.1" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Ray Strode <rstrode@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
(cherry picked from commit 75cb6e36178b9474bbb59b76cbbcce2a67bf88d2)

6 years agoanv/formats: Nicely handle unknown VkFormat enums
Jason Ekstrand [Thu, 27 Jul 2017 22:04:25 +0000 (15:04 -0700)]
anv/formats: Nicely handle unknown VkFormat enums

This fixes some crashes in the dEQP-VK.memory.requirements.core.* tests.
I'm not sure whether or not passing out-of-bound formats into the query
is supposed to be allowed but there's no harm in protecting ourselves
from it.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Bugzilla: https://bugs.freedesktop.org/101956
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 242211933a06826961709c2689a1d30f735ab7b9)

Squashed with:

anv: fix off by one in array check

`anv_formats[ARRAY_SIZE(anv_formats)]` is already one too far.
Spotted by Coverity.

CovID: 1417259
Fixes: 242211933a0682696170 "anv/formats: Nicely handle unknown VkFormat enums"
Cc: Jason Ekstrand <jason.ekstrand@intel.com>
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
(cherry picked from commit 0c7272a66c633b0b11c0b81c0f3552201d083b3a)

6 years agovbo: fix offset in minmax cache key
Charmaine Lee [Wed, 30 Aug 2017 21:26:41 +0000 (14:26 -0700)]
vbo: fix offset in minmax cache key

Instead of saving primitive offset in the minmax cache key,
save the actual buffer offset which is used in the cache lookup.

Fixes rendering artifact seen with GoogleEarth when run with
VMware driver.

v2: Per Brian's comment, initialize offset to avoid compiler warning.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 2d93b462b4d978b0da417b35a7470e336bc4e783)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <agomez@igalia.com>
Conflicts:
src/mesa/vbo/vbo_minmax_index.c

Squashed with:

vbo: fix build errors on android

incompatible pointer to integer conversion assigning to 'GLintptr' (aka 'int')
from 'const char *' [-Werror,-Wint-conversion]

      offset = indices;
             ^ ~~~~~~~

Fixes: 2d93b462b4d ("vbo: fix offset in minmax cache key")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
(cherry picked from commit 0986f686328216fa201769c630372fd4b6f8877a)

6 years agoradv: don't assert on empty hash table
Grazvydas Ignotas [Sun, 27 Aug 2017 21:29:36 +0000 (00:29 +0300)]
radv: don't assert on empty hash table

Currently if table_size is 0, it's falling through to:

unreachable("hash table should never be full");

But table_size can be 0 when RADV_DEBUG=nocache is set, or when the
table allocation fails (which is not considered an error).

Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver"
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
(cherry picked from commit b8dd69e1b49a5c4c5c82e34f804a97f7448ff6c3)

6 years agoegl/wayland: polish object teardown in dri2_wl_destroy_surface
Emil Velikov [Sun, 27 Aug 2017 10:20:28 +0000 (11:20 +0100)]
egl/wayland: polish object teardown in dri2_wl_destroy_surface

The wl_drm wrapper is created before the wl display/surface ones.
Thus make sure we destroy it after them. In reality it should not make
any difference either way.

Fixes: 03dd9a88b0b ("egl/wayland: Use per-surface event queues")
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
(cherry picked from commit 1a8015e753c6f52b24a473ea60e3ce0b38de7d42)

6 years agoegl/wayland: plug leaks in dri2_wl_create_window_surface() error path
Emil Velikov [Sun, 27 Aug 2017 10:20:27 +0000 (11:20 +0100)]
egl/wayland: plug leaks in dri2_wl_create_window_surface() error path

We forgot to teardown the wl display/surface wrappers.

Fixes: 03dd9a88b0b ("egl/wayland: Use per-surface event queues")
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
(cherry picked from commit 83442112d7136b6d0c2f6d84c409c04664aeb154)

6 years agoegl/dri2: only destroy created objects
Michael Olbrich [Tue, 29 Aug 2017 09:51:20 +0000 (11:51 +0200)]
egl/dri2: only destroy created objects

dri2_display_destroy may be called by dri2_initialize_wayland_drm() if
initialization fails. In this case, these objects may not be initialized.

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
(cherry picked from commit 81d5c31631840db704337489cf677cc596da79f5)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <agomez@igalia.com>
Conflicts:
src/egl/drivers/dri2/egl_dri2.c

6 years agoradv: clear dynamic_shader_stages on create
Grazvydas Ignotas [Sun, 27 Aug 2017 23:01:21 +0000 (02:01 +0300)]
radv: clear dynamic_shader_stages on create

Valgrind reports it's being used uninitialized.

Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver"
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
(cherry picked from commit 77803748336713854a4ade192253c0ba01c49047)

6 years agoegl: don't NULL deref the .get_capabilities function pointer
Emil Velikov [Mon, 7 Aug 2017 16:23:19 +0000 (17:23 +0100)]
egl: don't NULL deref the .get_capabilities function pointer

One could easily introduce version 3 of the DRI2fenceExtension,
extending the struct, while not implementing the above function.

Thus we'll end up with NULL pointer, and dereferencing it won't fare
too well.

Fixes: 0201f01dc4e ("egl: add EGL_ANDROID_native_fence_sync")
Cc: Rob Clark <robclark@freedesktop.org>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
(cherry picked from commit f0d053cb6dda908d554d84629bd98e05d383a8f6)

6 years agoradv: Fix sparse BO mapping merging.
Bas Nieuwenhuizen [Fri, 25 Aug 2017 20:18:24 +0000 (22:18 +0200)]
radv: Fix sparse BO mapping merging.

If we merge a mapping with the mapping before it, we also need
to not only change the offset, but also the bo offset.

Fixes: 715df30a4e2 "radv/amdgpu: Add winsys implementation of virtual buffers."
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 9b7e663da1d88f398a349e158c27b38a66b73fe3)

6 years agoradv: Fix off by one in MAX_VBS assert.
Bas Nieuwenhuizen [Fri, 25 Aug 2017 12:14:12 +0000 (14:14 +0200)]
radv: Fix off by one in MAX_VBS assert.

e.g. 0 + 32 <= 32 should be valid.

Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver"
Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit fba0e078695847bf1e4fdc9e6a44099bf901f4cf)

6 years agost/mesa: fix handling of vertex array double inputs
Ilia Mirkin [Sun, 27 Aug 2017 04:41:05 +0000 (00:41 -0400)]
st/mesa: fix handling of vertex array double inputs

The is_double_vertex_input needs to be set for arrays of doubles as
well.

Fixes KHR-GL45.enhanced_layouts.varying_array_locations

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit ae53bff8b13b433ca79904dfbda7264eb7188fa7)

6 years agoglsl: fix counting of vertex shader output slots used by explicit vars
Ilia Mirkin [Sun, 27 Aug 2017 04:09:31 +0000 (00:09 -0400)]
glsl: fix counting of vertex shader output slots used by explicit vars

The argument to count_attribute_slots should only be set to true for
vertex inputs, not for all vertex shader varyings.

Fixes KHR-GL45.enhanced_layouts.varying_locations

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit eefeff09a784eb139cbf682b98926c0eaa00eb21)

6 years agoetnaviv: use correct param for etna_compatible_rs_format(..)
Christian Gmeiner [Fri, 25 Aug 2017 11:39:05 +0000 (13:39 +0200)]
etnaviv: use correct param for etna_compatible_rs_format(..)

Found by code inspection.

Fixes: c9e8b49b885 ("etnaviv: gallium driver for Vivante GPUs")
Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
(cherry picked from commit 67fc3e37a7a38e279082848c064d5faacad44f54)

6 years agodocs: add sha256 checksums for 17.1.8
Andres Gomez [Mon, 28 Aug 2017 13:27:22 +0000 (16:27 +0300)]
docs: add sha256 checksums for 17.1.8

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agodocs: add release notes for 17.1.8
Andres Gomez [Mon, 28 Aug 2017 13:17:02 +0000 (16:17 +0300)]
docs: add release notes for 17.1.8

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agoUpdate version to 17.1.8
Andres Gomez [Mon, 28 Aug 2017 13:10:56 +0000 (16:10 +0300)]
Update version to 17.1.8

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "egl/drm: Fix misused x and y offsets in swrast_*_image*"
Andres Gomez [Tue, 22 Aug 2017 15:22:04 +0000 (18:22 +0300)]
cherry-ignore: add "egl/drm: Fix misused x and y offsets in swrast_*_image*"

fixes: Depend on earlier commit 04a40f7d2a that did not land in branch
and which exposes new API.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "i965: Make a BRW_NEW_FAST_CLEAR_COLOR dirty bit."
Andres Gomez [Thu, 24 Aug 2017 13:21:59 +0000 (16:21 +0300)]
cherry-ignore: add "i965: Make a BRW_NEW_FAST_CLEAR_COLOR dirty bit."

stable: 17.2 nomination only. Depends on earlier commit f296c22989ff
which did not land in branch.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "i965/tex: Don't pass samples to miptree_create_for_teximage"
Andres Gomez [Tue, 22 Aug 2017 10:56:59 +0000 (13:56 +0300)]
cherry-ignore: add "i965/tex: Don't pass samples to miptree_create_for_teximage"

stable: Depends on earlier commit 76e2f390f98 which did not land in
branch.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: cherry-ignore: added 17.2 nominations.
Andres Gomez [Fri, 18 Aug 2017 14:52:02 +0000 (17:52 +0300)]
cherry-ignore: cherry-ignore: added 17.2 nominations.

stable: 17.2 nominations only.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agoradv: don't crash if we have no framebuffer
Dave Airlie [Thu, 17 Aug 2017 01:08:46 +0000 (02:08 +0100)]
radv: don't crash if we have no framebuffer

Recording secondaries with no framebuffer attachment may
make this happen, though this might not be the complete solution.

(esp if someone does meta stuff in there, would we have to
save things, not sure).

Fixes: f4e499ec791 ("radv: add initial non-conformant radv vulkan driver")
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 4a091b0788664f73bbb35c14d04c00cebf37e17a)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <agomez@igalia.com>
Conflicts:
src/amd/vulkan/radv_cmd_buffer.c

6 years agoegl/wayland: Use roundtrips when awaiting buffer release
Kai Chen [Mon, 7 Aug 2017 15:34:51 +0000 (08:34 -0700)]
egl/wayland: Use roundtrips when awaiting buffer release

In get_back_bo, we use wl_display_dispatch_queue() to block and wait for
a buffer release event. However, not all Wayland compositors flush the
client socket on posting a buffer-release event, so by only blocking
client-side, we may block indefinitely, or at least need to wait for an
input event / frame completion to arrive for the compositor to flush.

We now use dispatch_queue as a first pass, but if our entire buffer pool
is exhausted, use a roundtrip (an immediately-triggered wl_callback) to
ensure that the compositor flushes out our release event immediately.

[daniels: Modified comment and commit message.]

Signed-off-by: Kai Chen <kai.chen@intel.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
CC: <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 151188d1e330a7a5f110bbc8251680121a1a84a6)

6 years agonv50/ir: properly set sType for TXF ops to U32
Ilia Mirkin [Thu, 24 Aug 2017 03:15:48 +0000 (23:15 -0400)]
nv50/ir: properly set sType for TXF ops to U32

All of the coordinates and LOD args are integers for TXF. This mostly
doesn't matter, except for converting into a levelZero=true operation by
removing an explicit zero LOD. For the comparison against zero to work
properly, the sType of the instruction has to be set correctly.

Fixes: KHR-GL45.robust_buffer_access_behavior.texel_fetch
Reported-by: Karol Herbst <karolherbst@gmail.com>
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 96be442b7795a6eb3d50f4061f2b98dddc39aa4d)

6 years agoradeonsi/gfx9: add a temporary workaround for a tessellation driver bug
Marek Olšák [Tue, 15 Aug 2017 22:54:45 +0000 (00:54 +0200)]
radeonsi/gfx9: add a temporary workaround for a tessellation driver bug

The workaround will do for now. The root cause is still unknown.

This fixes new piglit: 16in-1out

Cc: 17.1 17.2 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
(cherry picked from commit 166823bfd26ff7e9b88099598305967336525716)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <agomez@igalia.com>
Conflicts:
src/gallium/drivers/radeonsi/si_state_draw.c

6 years agointel/blorp: Adjust intra-tile x when faking rgb with red-only
Topi Pohjolainen [Sat, 19 Aug 2017 06:22:22 +0000 (09:22 +0300)]
intel/blorp: Adjust intra-tile x when faking rgb with red-only

v2 (Jason): Adjust directly in surf_fake_rgb_with_red()

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101910

CC: mesa-stable@lists.freedesktop.org
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
(cherry picked from commit 393ec1a5071263d300e91f43058ed3b594d41418)

6 years agomesa: only copy requested compressed teximage cubemap faces
Christoph Haag [Sat, 19 Aug 2017 23:59:43 +0000 (01:59 +0200)]
mesa: only copy requested compressed teximage cubemap faces

This is analogous to commit 2259b11 which only fixed the regular case

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102308
Signed-off-by: Christoph Haag <haagch+mesadev@frickel.club>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 87556a650ad363b41d86f4e25d5c4696f9af4550)
[Andres Gomez: helpers had not yet been refactored]
Signed-off-by: Andres Gomez <agomez@igalia.com>
Conflicts:
src/mesa/main/teximage.c

6 years agoi965: Stop looking at NewDriverState when emitting 3DSTATE_URB
Jason Ekstrand [Fri, 18 Aug 2017 23:10:39 +0000 (16:10 -0700)]
i965: Stop looking at NewDriverState when emitting 3DSTATE_URB

Looking at NewDriverState is not safe in general.  The state atom system
is set up to ensure that new bits that get added to NewDriverState get
accumulated into the set of bits used when emitting atoms but it doesn't
go the other way.  If we read NewDriverState, we may not get the full
picture because the per-pipeline state (3D or compute) does not get
added to NewDriverState before state emit is done.  It's especially
dangerous to do this from BLORP (either explicitly or implicitly when
BLORP calls gen7_upload_urb) because that does not happen during one of
the normal state upload paths.

This commit solves the problem by whacking all of the per-shader-stage
URB sizes to zero whenever we change the total URB size.  We still have
to flag BRW_NEW_URB_SIZE to ensure that the gen7_urb atom triggers but
the actual decision in gen7_upload_urb can now be based entirely on URB
sizes rather than on state atoms.  This also makes BLORP correct because
it just asks for a new URB config whenever the vsize is too small and so
any change to the total URB size will trigger blorp to re-emit as well
because 0 < vs_entry_size.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Bugzilla: https://bugs.freedesktop.org/102289
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit d5e217dbfda2a87e149bdc8586c25143fc0ac183)

6 years agoglsl: add a few missing int64 constant propagation cases
Ilia Mirkin [Thu, 17 Aug 2017 02:18:39 +0000 (22:18 -0400)]
glsl: add a few missing int64 constant propagation cases

Fixes KHR-GL45.shader_ballot_tests.ShaderBallotAvailability, which
causes some silly swizzles to appear, triggering this optimization to
get hit.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 9c8f017f77188d9048132a30d31f18b9690cbe04)

6 years agoi965: perf: minimize the chances to spread queries across batchbuffers
Lionel Landwerlin [Thu, 22 Jun 2017 01:15:50 +0000 (02:15 +0100)]
i965: perf: minimize the chances to spread queries across batchbuffers

Counter related to timings will be sensitive to any delay introduced
by the software. In particular if our begin & end of performance
queries end up in different batches, time related counters will
exhibit biffer values caused by the time it takes for the kernel
driver to load new requests into the hardware.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit adafe4b733c0242720ccfe10d391e5d44c0e7401)

6 years agoswr/rast: switch gen_knobs.cpp license
Tim Rowley [Mon, 31 Jul 2017 22:48:12 +0000 (17:48 -0500)]
swr/rast: switch gen_knobs.cpp license

Unintentionally added with an apache2 license; relicense to match
the rest of the tree.

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
(cherry picked from commit fb3e50a351b52014479a9a81226b7c51b176afed)

6 years agodocs: add sha256 checksums for 17.1.7
Andres Gomez [Mon, 21 Aug 2017 15:22:49 +0000 (18:22 +0300)]
docs: add sha256 checksums for 17.1.7

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agodocs: add release notes for 17.1.7
Andres Gomez [Mon, 21 Aug 2017 15:10:18 +0000 (18:10 +0300)]
docs: add release notes for 17.1.7

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agoUpdate version to 17.1.7
Andres Gomez [Mon, 21 Aug 2017 15:03:05 +0000 (18:03 +0300)]
Update version to 17.1.7

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "radv: handle 10-bit format clamping workaround."
Andres Gomez [Thu, 17 Aug 2017 19:34:22 +0000 (22:34 +0300)]
cherry-ignore: add "radv: handle 10-bit format clamping workaround."

fixes: This commit is complex and has non trivial conflicts due to
previous changes.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "virgl: drop precise modifier."
Andres Gomez [Thu, 17 Aug 2017 19:29:28 +0000 (22:29 +0300)]
cherry-ignore: add "virgl: drop precise modifier."

fixes: This commit addressed an earlier commit af22adee4f which did
not land in branch.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "radv: Handle VK_ATTACHMENT_UNUSED in color attachments."
Andres Gomez [Thu, 17 Aug 2017 19:27:49 +0000 (22:27 +0300)]
cherry-ignore: add "radv: Handle VK_ATTACHMENT_UNUSED in color attachments."

fixes: This commit is complex and has non trivial conflicts due to
multiple previous changes.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: added 17.2 nominations.
Andres Gomez [Thu, 17 Aug 2017 13:56:55 +0000 (16:56 +0300)]
cherry-ignore: added 17.2 nominations.

stable: 17.2 nominations only.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "configure: remove trailing "-a" in swr architecture teststable...
Andres Gomez [Thu, 17 Aug 2017 14:47:56 +0000 (17:47 +0300)]
cherry-ignore: add "configure: remove trailing "-a" in swr architecture teststable: 17.2 nomination only."

stable: 17.2 nomination only. Depends on earlier commit 1cb5a6061c
which did not land in branch.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "radeon/ac: use ds_swizzle for derivs on si/cik."
Andres Gomez [Thu, 17 Aug 2017 12:54:46 +0000 (15:54 +0300)]
cherry-ignore: add "radeon/ac: use ds_swizzle for derivs on si/cik."

stable: Depends on earlier commit 28634ff7d3 which did not land in
branch.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agocherry-ignore: add "swr: use the correct variable for no undefined symbols"
Andres Gomez [Thu, 17 Aug 2017 12:53:36 +0000 (15:53 +0300)]
cherry-ignore: add "swr: use the correct variable for no undefined symbols"

stable: Breaks SWR compilation due to earlier commit f50aa21456 which
did not land in branch.

Signed-off-by: Andres Gomez <agomez@igalia.com>
6 years agoutil: Fix build on old glibc.
Eric Anholt [Mon, 31 Jul 2017 21:47:12 +0000 (14:47 -0700)]
util: Fix build on old glibc.

We need to link librt for u_thread.h's clock_gettime() call.

Fixes: b822d9dd67b5 ("gallium/util: move u_queue.{c,h} to src/util")
Reviewed-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit b94ddc181bc514bd32c1d4103aa1c7582a7a60ff)

6 years agoradv: force cs/ps/l2 flush at end of command stream. (v2)
Dave Airlie [Wed, 26 Jul 2017 03:37:53 +0000 (04:37 +0100)]
radv: force cs/ps/l2 flush at end of command stream. (v2)

This seems like a workaround, but we don't see the bug on CIK/VI.

On SI with the dEQP-VK.memory.pipeline_barrier.host_read_transfer_dst.*
tests, when one tests complete, the first flush at the start of the next
test causes a VM fault as we've destroyed the VM, but we end up flushing
the compute shader then, and it must still be in the process of doing
something.

Could also be a kernel difference between SI and CIK.

v2: hit this with a bigger hammer. This fixes a bunch of hangs
in the vk cts with the robustness tests.

Fixes: f4e499ec791 ("radv: add initial non-conformant radv vulkan driver")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101334
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 82ba384c10d598bee4786ef5f79e92a0e7b53892)