OSDN Git Service

android-x86/external-mesa.git
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)

6 years agoradv: fix MSAA on SI gpus.
Dave Airlie [Mon, 7 Aug 2017 06:39:41 +0000 (07:39 +0100)]
radv: fix MSAA on SI gpus.

This ports the workaround from radeonsi, that was missing in radv.

This fixes Talos rendering when MSAA is enabled on my Tahiti card.

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

6 years agoradv: fix f16->f32 denorm handling for SI/CIK. (v2)
Dave Airlie [Thu, 3 Aug 2017 23:17:34 +0000 (00:17 +0100)]
radv: fix f16->f32 denorm handling for SI/CIK. (v2)

This just copies the code from the -pro shaders,
and fixes the tests on CIK.

With this CIK passes the same set of conformance
tests as VI.

Fixes: 83e58b03 (radv: flush f32->f16 conversion denormals to zero. (v2))
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 3f389f75b6e9b55467aca681af09b83998ee0e46)

6 years agonv50/ir: fix TXQ srcMask
Ilia Mirkin [Wed, 16 Aug 2017 04:33:34 +0000 (00:33 -0400)]
nv50/ir: fix TXQ srcMask

src0.x is always read for the LOD, irrespective of which outputs are
read.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 934511d1f3a8e2e9b0091d725c87a22a51233141)

6 years agonv50/ir: fix srcMask computation for TG4 and TXF
Ilia Mirkin [Wed, 16 Aug 2017 04:25:40 +0000 (00:25 -0400)]
nv50/ir: fix srcMask computation for TG4 and TXF

This affects which inputs are marked as used. In a situation where only
the texture instruction uses an input, it might have been ignored as
unused due to input masks.

Affects subtests of KHR-GL45.texture_cube_map_array.sampling

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 054c54d1be634dec106c30030bb4921f398d6c90)

6 years agogallium/os: fix os_time_get_nano() to roll over less
Frank Richter [Tue, 15 Aug 2017 13:46:35 +0000 (15:46 +0200)]
gallium/os: fix os_time_get_nano() to roll over less

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102241
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
(cherry picked from commit 7fb7287ce72066db7dffd918226bf15c3131a871)

6 years agost/wgl: check for negative delta in wait_swap_interval()
Frank Richter [Mon, 14 Aug 2017 14:05:22 +0000 (16:05 +0200)]
st/wgl: check for negative delta in wait_swap_interval()

This can happen because of rollover.  See bug report for details.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102241
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
(cherry picked from commit d90e05ad487e9fe7e17c293814ac8549d9d686d8)

6 years agost/mesa: fix a null pointer access
Frank Richter [Wed, 7 Jun 2017 12:40:23 +0000 (14:40 +0200)]
st/mesa: fix a null pointer access

Fixes crash with llvmpipe on Windows.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102148
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 496a691e3544d082670ac1f33059692510a2a86d)

6 years agoswr/rast: Fix invalid casting for calls to Interlocked* functions
Tim Rowley [Tue, 8 Aug 2017 01:33:24 +0000 (20:33 -0500)]
swr/rast: Fix invalid casting for calls to Interlocked* functions

CID: 141624314162441416255
CC: mesa-stable@lists.freedesktop.org
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
(cherry picked from commit b333bc753e2dd1ed1a676606046a4289e7d58187)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <agomez@igalia.com>
Conflicts:
src/gallium/drivers/swr/rasterizer/core/api.cpp
src/gallium/drivers/swr/rasterizer/core/threads.cpp

6 years agoglsl/ast: update rhs in addition to the var's constant_value
Ilia Mirkin [Tue, 15 Aug 2017 17:47:08 +0000 (13:47 -0400)]
glsl/ast: update rhs in addition to the var's constant_value

We continue in the code to do some more things with the rhs, including
setting a constant initializer. If the type is wrong, this causes some
confusion down the line, leading to assertions. This makes sure that the
rhs processing continues to flow as-if the type was correct to start
with (even though the state has been marked as an error state).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101766
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 978c4c597aa48e65bd6822a85e6b8f82ca9281f1)

6 years agoradeonsi: disable CE by default
Marek Olšák [Sun, 13 Aug 2017 17:22:06 +0000 (19:22 +0200)]
radeonsi: disable CE by default

It makes performance worse by a very small (hard to measure) amount.
We've done extensive profiling of this feature internally.

Cc: 17.1 17.2 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Christian König <christian.koenig@amd.com>
(cherry picked from commit 1ab7fed7079a8b0f670d6a51ddc98691ace29508)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <agomez@igalia.com>
Conflicts:
src/gallium/drivers/radeonsi/si_pipe.c

6 years agoegl: avoid eglCreatePlatform*Surface{EXT,} crash with invalid dpy
Emil Velikov [Tue, 8 Aug 2017 14:55:36 +0000 (15:55 +0100)]
egl: avoid eglCreatePlatform*Surface{EXT,} crash with invalid dpy

If we have an invalid display fed into the functions, the display lookup
will return NULL. Thus as we attempt to get the platform type, we'll
deref. it leading to a crash.

Keep in mind that this will not happen if Mesa is built without X11 or
when the legacy eglCreate*Surface codepaths are used.

A similar check was added with earlier commit 5e97b8f5ce9 ("egl: Fix
crashes in eglCreate*Surface), although it was only applicable when the
surfaceless platform is built.

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
(cherry picked from commit 26fbb9eacddb1b809739cb12477bde13501d6d5a)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <agomez@igalia.com>
Conflicts:
src/egl/main/eglapi.c

6 years agoac: fail shader compilation if libelf is replaced by an incompatible version
Marek Olšák [Wed, 9 Aug 2017 20:30:28 +0000 (22:30 +0200)]
ac: fail shader compilation if libelf is replaced by an incompatible version

UE4Editor has this issue.

This commit prevents hangs (release build) or assertion failures (debug
build). It doesn't fix the editor, but catastrophic scenarios are
prevented.

Cc: 17.1 17.2 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
(cherry picked from commit 4630ede1021d49c610de1274dc9d1006b843e46b)

6 years agonv50/ir: fix ConstantFolding with saturation
Karol Herbst [Sun, 30 Jul 2017 15:51:22 +0000 (17:51 +0200)]
nv50/ir: fix ConstantFolding with saturation

For mul(a, +-1) codegen can generate OP_MOV with a saturation flag
set which is ignored at emission. The same can happen with add(a, 0),
and others.

Adding an assert for detecting more of such issues.

Fixes wrongly rendered water in Hitman Absolution running under wine.
Also a few shaders in Mad Max and Alien Isolation produce such MOVs.

CC: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Karol Herbst <karolherbst@gmail.com>
Reviewed-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
[imirkin: generalize the fix for other cases]
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
(cherry picked from commit 24a799ad35a824fba94062f9b018f603717ed145)

squashed with:

nv50/ir: clean up saturated values immediately

Since we don't iterate to a fixed point, we can end up in situations
where we have a SAT instruction + a long immediate. This is not legal.
However since it's immediately computable, just run unary straight away
to handle the situation.

Fixes: 24a799ad35a82 ("nv50/ir: fix ConstantFolding with saturation")
Reported-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 165e18dd219fbf4d60fd582b02e2dbf75ccd026f)

6 years agoanv/formats: Allow sampling on depth-only formats on gen7
Jason Ekstrand [Fri, 4 Aug 2017 02:58:24 +0000 (19:58 -0700)]
anv/formats: Allow sampling on depth-only formats on gen7

We can't sample from depth-stencil formats but on gen7 but we can sample
from depth-only formats.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102024
Reviewed-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 06d3115bb97740a4c8f36c645944a8bd0bde3f68)

6 years agoradv: avoid GPU hangs if someone does a resolve with non-multisample src (v2)
Dave Airlie [Fri, 4 Aug 2017 01:13:55 +0000 (02:13 +0100)]
radv: avoid GPU hangs if someone does a resolve with non-multisample src (v2)

This is a bug in the app, but I'd rather avoid hanging the GPU,
esp if someone is running in validation and it takes out their
development environment.

v2: get it right, reverse the polarity.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 36a1b61321561634c6b243cf876c347fef73dfa4)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <agomez@igalia.com>
Conflicts:
src/amd/vulkan/radv_meta_resolve.c

6 years agoegl/x11: don't leak xfixes_query in the error path
Emil Velikov [Thu, 3 Aug 2017 13:34:53 +0000 (14:34 +0100)]
egl/x11: don't leak xfixes_query in the error path

If we get a xfixes v1.x we'll error out, without freeing the
xfixes_query reply.

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

6 years agointel/vec4/gs: reset nr_pull_param if DUAL_INSTANCED compile failed.
Dave Airlie [Thu, 3 Aug 2017 03:48:40 +0000 (13:48 +1000)]
intel/vec4/gs: reset nr_pull_param if DUAL_INSTANCED compile failed.

If dual object compile fails (as seems to happen with virgl a
fair bit, and does piglit even have any tests for it?), we end up
not restarting the pull params, so we call
vec4_visitor::move_uniform_array_access_to_pull_constant
a second time and it runs over the ends of the alloc.

Fixes: tests/spec/glsl-1.50/execution/geometry/max-input-components.shader_test
running inside virgl on ivybridge.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 271fa3a684ef0eefe99087c13d1abb099784163f)

6 years agoi965/blit: Remember to include miptree buffer offset in relocs
Chris Wilson [Mon, 31 Jul 2017 09:56:15 +0000 (10:56 +0100)]
i965/blit: Remember to include miptree buffer offset in relocs

Remember to add the offset to the start of the buffer in the relocation
or else we write 0xff into random bytes elsewhere.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit fb63c43fd1b7adb5cb4f34e7616e7d564ca178e5)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <agomez@igalia.com>
Conflicts:
src/mesa/drivers/dri/i965/intel_pixel_bitmap.c

6 years agoi965: Delete pitch alignment assertion in get_blit_intratile_offset_el.
Kenneth Graunke [Tue, 1 Aug 2017 05:04:25 +0000 (22:04 -0700)]
i965: Delete pitch alignment assertion in get_blit_intratile_offset_el.

The cacheline alignment restriction is on the base address; the pitch
can be anything.

Fixes assertion failures when using primus (say, on glxgears, which
creates a 300x300 linear BGRX surface with a pitch of 1200):

intel_blit.c:190: get_blit_intratile_offset_el: Assertion `mt->surf.row_pitch % 64 == 0' failed.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
(cherry picked from commit 595a47b8293b1d97a3ae7dbfa8db703bfb4e7aae)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <agomez@igalia.com>
Conflicts:
src/mesa/drivers/dri/i965/intel_blit.c

6 years agoac/nir: fix lsb emission
Connor Abbott [Tue, 1 Aug 2017 01:28:45 +0000 (18:28 -0700)]
ac/nir: fix lsb emission

This makes it match radeonsi. The LLVM backend itself will emit the
correct instruction, but LLVM might do incorrect optimizations since it
thinks the output is undefined when the input is 0, even though it's not
supposed to be. We really need a new intrinsic, or for the backend to
become smarter and recognize this pattern.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Bas Nieuwenhuizen <basni@google.com>
(cherry picked from commit 6d731c5651ea98551e0bf0c1a8896d5ea63558d5)
[Andres Gomez: nir_to_llvm_context not yet converted into ac_llvm_context]
Signed-off-by: Andres Gomez <agomez@igalia.com>
Conflicts:
src/amd/common/ac_nir_to_llvm.c

6 years agodocs: add sha256 checksums for 17.1.6
Emil Velikov [Mon, 7 Aug 2017 12:09:08 +0000 (13:09 +0100)]
docs: add sha256 checksums for 17.1.6

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
6 years agodocs: add release notes for 17.1.6
Emil Velikov [Mon, 7 Aug 2017 12:02:41 +0000 (13:02 +0100)]
docs: add release notes for 17.1.6

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoUpdate version to 17.1.6
Emil Velikov [Mon, 7 Aug 2017 11:59:23 +0000 (12:59 +0100)]
Update version to 17.1.6

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoswr/rast: fix scons gen_knobs.h dependency
Tim Rowley [Mon, 31 Jul 2017 21:59:06 +0000 (16:59 -0500)]
swr/rast: fix scons gen_knobs.h dependency

Copy/paste error was duplicating a gen_knobs.cpp rule.

Fixes: 5079c277b57 ("swr: [scons] Fix windows build")
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
(cherry picked from commit e4a6ae06cf01a21d7fe32e3ff2fc441102d68f82)