Eric Engestrom [Wed, 22 Jul 2020 20:41:46 +0000 (22 22:41 +0200)]
VERSION: bump to release 20.1.4
Eric Engestrom [Wed, 22 Jul 2020 20:40:25 +0000 (22 22:40 +0200)]
docs: add release notes for 20.1.4
Danylo Piliaiev [Thu, 16 Jul 2020 18:09:08 +0000 (16 21:09 +0300)]
nir/opt_if: Fix opt_if_simplification when else branch has jump
Consider the following case:
if ssa_1 {
block block_2:
/* succs: block_4 */
} else {
block block_3:
...
break
/* succs: block_5 */
}
block block_4:
vec1 32 ssa_100 = phi block_2: ssa_2
After block_3 extraction and reinsertion, phi->pred becomes invalid
and isn't updated by reinsertion since it is unreachable from block_3.
Call nir_opt_remove_phis_block before moving block to eliminate single
source phis after the if.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3282
Fixes:
e3e929f8c342b32dc8f5296adf8fb337866fa40a
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5945>
(cherry picked from commit
6f94b3da111f65a46126fdb3652474dc4d9cbda5)
Erik Faye-Lund [Mon, 20 Jul 2020 16:06:47 +0000 (20 18:06 +0200)]
mesa/program: fix shadow property for samplers
When creating a sampler-type, we need to pass the correct vaclue for
the "is_shadow"-parameter to glsl_sampler_type(), otherwise the compiler
backend will have no clue about this being a shadow-sampler.
Fixes:
1c0f92d8a8c ("nir: Create sampler variables in prog_to_nir.")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5986>
(cherry picked from commit
c33e8d7d522c250443d903b5732224988855b9a9)
Rhys Kidd [Mon, 20 Jul 2020 11:10:25 +0000 (20 21:10 +1000)]
nvc0: fix macro define for NVE4_COPY()
Fixes:
e44089b2f79 ("nvc0: add initial support for nve4+ (Kepler) chipsets")
Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5982>
(cherry picked from commit
203d565b195442dac85701b029eb8ba469c6809b)
Lionel Landwerlin [Sat, 18 Jul 2020 19:51:44 +0000 (18 22:51 +0300)]
anv: properly handle fence import of sync_fd = -1
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
43e8808b82b9eb ("anv: Add support for the SYNC_FD handle type for fences")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5964>
(cherry picked from commit
3a4024e776645714dc728e48108755877b37131a)
Bas Nieuwenhuizen [Tue, 21 Jul 2020 23:50:47 +0000 (22 01:50 +0200)]
meson: Add mising git_sha1.h dependency.
Fixes:
606dff1b73f "vulkan/overlay: Add support for a control socket."
Reviewed-by: Dylan Baker <dylan.c.baker@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6019>
(cherry picked from commit
323d5bbfd9a1d6684bb5381b67b8965ea98d5fc0)
Luigi Santivetti [Tue, 30 Jun 2020 13:59:45 +0000 (30 14:59 +0100)]
egl/dri2: try to bind old context if bindContext failed
This change mostly touches error handling code paths, where a
bug was found when the DRI driver failed to bind a new DRI
context. Specifically, the reason for it to fail was the window
system unable (for whatever reason) to provide the DRI drawable
with a buffer. In this instance, Mesa un-does the EGL bindings,
but doesn't restore the old DRI context, hence remaining in a
funny state. It's worth mentioning that despite trying, there
is no guarantee that the old DRI context can be restored,
depending on the runtime.
Before this change, if bindContext() failed then
dri2_make_current() would rebind the old EGL context and
surfaces and return EGL_BAD_MATCH. However, it wouldn't rebind
the DRI context and surfaces, thus leaving it in an
inconsistent and unrecoverable state.
After this change, dri2_make_current() tries to bind the old
DRI context and surfaces when bindContext() failed. If unable
to do so, it leaves EGL and the DRI driver in a consistent
state, it reports an error and returns EGL_BAD_MATCH.
Fixes:
4e8f95f64d004aa1 ("egl_dri2: Always unbind old contexts")
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5707>
(cherry picked from commit
2907faee7a3970a63daefd6017bb7b8691e7fc08)
Luigi Santivetti [Tue, 30 Jun 2020 10:32:49 +0000 (30 11:32 +0100)]
dri2: do not conflate unbind and bindContext() failure
dri2_make_current() has become hard to follow, address this by
splitting the semantic of needing a call to bindContext() and
its failure.
Cc: mesa-stable
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5707>
(cherry picked from commit
8b0b6f907d7ba304cea02bdb81fbb914d6077cb9)
Luigi Santivetti [Tue, 30 Jun 2020 09:14:08 +0000 (30 10:14 +0100)]
dri2: dri2_make_current() fold multiple if blocks
dri2_make_current() has become long and convoluted. Address
this by folding together multiple if blocks checking for the
same variable.
Cc: mesa-stable
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5707>
(cherry picked from commit
6b12999ef7c5b754df0919cdc9e354d58abbc4fb)
Rhys Perry [Mon, 20 Jul 2020 15:54:22 +0000 (20 16:54 +0100)]
radv: replace discard with demote for Quantic Dream games
Detroit: Become Human uses dFdx/dFdy immediately after a quad-divergent
discard, which can cause the image to become white.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Cc: <mesa-stable@lists.freedesktop.org>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3212
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5991>
(cherry picked from commit
d9072a113b2041cebfa10e6e27b5ce2687a02126)
Rhys Perry [Wed, 1 Jul 2020 15:14:16 +0000 (1 16:14 +0100)]
nir/lower_int64: lower 64-bit amul
Fixes an issue with Renderdoc's shader debugging with ACO.
If nir_opt_algebraic isn't called in-between nir_lower_explicit_io and
nir_lower_int64, we can end up with 64-bit multiplications.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes:
6320e37d4be ('nir: add amul instruction')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5709>
(cherry picked from commit
0868638aed05775db44e9acc625bc34c737ee4fa)
Jason Ekstrand [Tue, 14 Jul 2020 19:40:35 +0000 (14 14:40 -0500)]
intel/fs: Use the correct logical op for global float atomics
Fixes:
e644ed468f98 "intel/fs: Implement nir_intrinsic_global_atomic_*"
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5992>
(cherry picked from commit
675d7b19a9aece0ea674eadba20ec2b01c86de6e)
Pierre-Eric Pelloux-Prayer [Thu, 9 Jul 2020 12:10:51 +0000 (9 14:10 +0200)]
ac/surface: adapt surf_size when modifying surf_pitch
Otherwise we might get VM_L2_PROTECTION_FAULT_STATUS errors.
Fixes:
8275dc1ed57 ("ac/surface: fix epitch when modifying surf_pitch")
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5841>
(cherry picked from commit
87ecfdfbf0a8448d1475e6da15175e68bdeb933b)
Samuel Pitoiset [Tue, 14 Jul 2020 20:55:04 +0000 (14 22:55 +0200)]
radv: fix destroying the syncobj when exporting a fence FD
It's invalid and the temporary syncobj was never actually destroyed.
Cc: 20.1 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5921>
(cherry picked from commit
8aa9d0acb8ce882686eedd7d9b2bf51b035f2614)
Alyssa Rosenzweig [Thu, 16 Jul 2020 18:07:09 +0000 (16 14:07 -0400)]
panfrost: Revert "Disable frame throttling"
This reverts commit
4fee7b30c0ecc56d7659ecad1d8b140ab253f0db, which was
intended to be a temporary workaround for a leak introduced in
a65e29ccb26 ("gallium: simplify throttle implementation"). However, that
leak was then fixed in
023282a4f667695ea1dbbe9fbe1cd3a9d550a426 and we
forgot to revert this hack.
Closes: #2108
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
(cherry picked from commit
40b99bb79e19a413da5e2f9717b219336919367b)
Alyssa Rosenzweig [Thu, 9 Jul 2020 23:13:59 +0000 (9 19:13 -0400)]
panfrost: Fix write to free'd memory
No clue how this worked before.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Fixes:
82f18b713ac ("panfrost: Keep track of active BOs")
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859>
(cherry picked from commit
37d89e0f93601e520edcdc41dc68197dff736c1e)
Alyssa Rosenzweig [Tue, 26 May 2020 20:57:44 +0000 (26 16:57 -0400)]
panfrost: Fix fence leak
When overwriting the writer, we need to release the old reference.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Fixes:
2dad9fde505 ("panfrost: Start tracking inter-batch dependencies")
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859>
(cherry picked from commit
20dd37024b045881d98a55b1927b0dab29d1edd3)
Jason Ekstrand [Fri, 10 Jul 2020 20:58:39 +0000 (10 15:58 -0500)]
spirv: Allow block-decorated struct types for constants
Whenever a struct type is decorated Block or BufferBlock we turn that
into a GLSL_TYPE_INTERFACE. Since these decorations can end up random
places, we should allow them for constants.
Closes: #3252
Fixes:
9d0ae777dd6 "spirv: Use interface type for block and buffer..."
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5855>
(cherry picked from commit
351b5137d71b8dc944bad6dcb83cd93e6d38c44e)
Jason Ekstrand [Fri, 10 Jul 2020 21:09:27 +0000 (10 16:09 -0500)]
spirv: Skip phis in unreachable blocks in the second phi pass
Closes: #3253
Fixes:
22fdb2f8551 "nir/spirv: Update to the latest revision"
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5855>
(cherry picked from commit
81773b4b441fbd8ec284de78e4dfdcecdca112dc)
Lionel Landwerlin [Fri, 10 Jul 2020 07:46:53 +0000 (10 10:46 +0300)]
iris: fix fallback to swrast driver
The helper we use to query the kernel returns -1 if the getparam is
not supported.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
f402b7c57641dd ("iris: fail screen creation when kernel support is not there")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3188
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5838>
(cherry picked from commit
e3ddba73241901a75844b39e6e3b12eaf15f9b26)
Pierre-Eric Pelloux-Prayer [Thu, 9 Jul 2020 14:59:39 +0000 (9 16:59 +0200)]
st/mesa: set compressed_data to NULL when freed
Reported-by: Karol Herbst <kherbst@redhat.com>
Fixes:
b6db703e0f0 ("st/mesa: make texture views inherit compressed_data storage")
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Tested-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5821>
(cherry picked from commit
51bdaf0b601522dfc599bd352806e66ef56876a3)
Pierre-Eric Pelloux-Prayer [Fri, 19 Jun 2020 16:37:00 +0000 (19 18:37 +0200)]
glsl: only allow 32 bits atomic operations on images
EXT_shader_image_load_store says:
The format of the image unit must be in the "1x32" equivalence class
otherwise the atomic operation is invalid.
ARB_shader_image_load_store says:
We will only support 32-bit atomic operations on images
Fixes:
fc0a2e5d017 ("glsl: add EXT_shader_image_load_store new image functions")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5688>
(cherry picked from commit
1e3aeda5281e5d246e37a035d91f08af4bb0e5e3)
Pierre-Eric Pelloux-Prayer [Fri, 19 Jun 2020 16:34:51 +0000 (19 18:34 +0200)]
glsl: don't expose imageAtomicIncWrap for signed image
The spec says that it's only allowed for unsigned ones.
Same from imageAtomicDecWrap.
Fixes:
fc0a2e5d017 ("glsl: add EXT_shader_image_load_store new image functions")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5688>
(cherry picked from commit
233af4a412db87a9b8430104a58c1b6adb704b1c)
Pierre-Eric Pelloux-Prayer [Fri, 19 Jun 2020 16:29:19 +0000 (19 18:29 +0200)]
glsl: reject size1x8 for image variable with floating-point data types
Fixes:
8d07d66180b ("glsl,nir: Switch the enum representing shader image formats to PIPE_FORMAT.")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5688>
(cherry picked from commit
0c8873d85db371dea9ec34fefc6fec531aa404b9)
Jonathan Marek [Tue, 7 Jul 2020 22:00:55 +0000 (7 18:00 -0400)]
freedreno/a2xx: fix compressed textures
Two problems:
* Multiply has higher priority than shift
* rsc->layout.format isn't initialized for a2xx
Fixes:
5a8718f01b397 ("freedreno: Make the slice pitch be bytes, not pixels.")
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5796>
(cherry picked from commit
344e764b01202d9894c793d393d060dc5530145b)
Eric Engestrom [Fri, 10 Jul 2020 10:32:35 +0000 (10 12:32 +0200)]
Eric Engestrom [Wed, 8 Jul 2020 20:35:13 +0000 (8 22:35 +0200)]
docs/relnotes: add sha256 sums to 20.1.3
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Eric Engestrom [Wed, 8 Jul 2020 20:13:38 +0000 (8 22:13 +0200)]
VERSION: bump to release 20.1.3
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Eric Engestrom [Wed, 8 Jul 2020 20:13:03 +0000 (8 22:13 +0200)]
docs: add release notes for 20.1.3
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Bas Nieuwenhuizen [Mon, 6 Jul 2020 23:51:50 +0000 (7 01:51 +0200)]
radv: Use correct semaphore handle type for Android import.
Coincidentally got a bugreport of a game that is broken without the import
fix below, but it turns out I made a copy-paste error as well ..
In good news it is clearly tested now.
Fixes:
ad151499583 "radv: Set handle types in Android semaphore/fence import."
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5783>
(cherry picked from commit
ffb8020f6e7ae3fb89d5b5ab17ff6fbdc6798ac4)
Neil Roberts [Tue, 7 Jul 2020 00:02:19 +0000 (7 02:02 +0200)]
v3d/compiler: Fix sorting the gs and fs inputs
ntq_setup_fs_inputs and ntq_setup_gs_inputs sort the inputs according to
the driver location. This input array is then used to calculate the VPM
offset for the outputs in the previous stage. However, it wasn’t taking
into account variables that are packed into a single varying slot. In
that case they would have the same driver_location and are
distinguished by location_frac.
This patch makes it additionally sort by location_frac when the driver
locations are equal. This can happen when the compiler packs varyings
that are sized less than vec4. Without this fix, when the VPM is used to
transmit data free-form between the stages (such as VS->GS) then it
would end up writing to inconsistent locations.
Fixes dEQP tests such as:
dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.
vertex_geometry_fragment.default_framebuffer_bbox_equal
Fixes:
5d578c27cec ("v3d: add initial compiler plumbing for geometry shaders")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5787>
(cherry picked from commit
deefebc55be4478afbfd98e0d5094f09d7739640)
Timothy Arceri [Tue, 7 Jul 2020 00:00:47 +0000 (7 10:00 +1000)]
radeonsi: fix SI_NUM_ATOMS
This is not used anywhere so maybe we should just drop it instead.
Fixes:
639b673fc3b8 ("radeonsi: don't use an indirect table for state atoms")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766>
(cherry picked from commit
bba766d85db2aa13425036cbbf80ff10d2b49d44)
Rhys Perry [Wed, 1 Jul 2020 15:00:55 +0000 (1 16:00 +0100)]
radv: enable zerovram for Quantic Dream games
Fixes various artifacts with Detroit: Become Human. This assumes other
Vulkan games using the same engine could have the same issues.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Cc: <mesa-stable@lists.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5710>
(cherry picked from commit
e4654a35b00315465ad84afcf92162ddf15eec40)
Jason Ekstrand [Tue, 7 Jul 2020 16:08:31 +0000 (7 11:08 -0500)]
anv: Handle clamping of inverted depth ranges
Tested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5792>
(cherry picked from commit
1d5e1882f662fb4a922353ea272c1e94398f9155)
Danylo Piliaiev [Thu, 2 Jul 2020 08:39:25 +0000 (2 11:39 +0300)]
iris: Fix fast-clearing of depth via glClearTex(Sub)Image
If we clear depth only texture via glClearTex(Sub)Image it may cause:
../src/intel/blorp/blorp_genX_exec.h:1554: blorp_emit_surface_states: Assertion `params->depth.enabled || params->stencil.enabled' failed.
due to clear_depth_stencil calling blorp_clear_depth_stencil when
depth is already fast-cleared and there is no stencil.
Fixes piglit test: arb_clear_texture-depth
Fixes:
51638cf18a532510f9e1fd8f36207b56d38137b8
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5770>
(cherry picked from commit
77844690be7ef8e6e2b24ff1acd85f908ec566f4)
Lionel Landwerlin [Mon, 6 Jul 2020 14:11:35 +0000 (6 17:11 +0300)]
anv: garbage collect timeline semaphore when querying value
If we don't garbage collect the timeline, the value never progresses
even though work completed.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3226
Fixes:
34f32a6d664807 ("anv: implement VK_KHR_timeline_semaphore")
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5774>
(cherry picked from commit
edc8119da4eafb45ae90b70ba33b2c1f5b85c4c1)
Neil Roberts [Tue, 23 Jun 2020 22:16:43 +0000 (24 00:16 +0200)]
v3d: Use stvpmd for non-uniform offsets in GS
The offset for the VPM write for storing outputs from the geometry
shader isn’t necessarily uniform across all the lanes. This can happen
if some of the lanes don’t emit some of the vertices. In that case the
offset for the subsequent vertices will be different in each lane. In
that case we need to use the stvpmd instruction instead of stvpmv
because it will scatter the values out.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3150
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5621>
(cherry picked from commit
3b1c511b099e88d1b153de784e3bf7e951a6288f)
Neil Roberts [Tue, 23 Jun 2020 22:15:12 +0000 (24 00:15 +0200)]
v3d: Add missing macro for stvpmd instruction
stvpmd is like stvpmv but it scatters the output. It can be used with
non-dynamically uniform offsets.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5621>
(cherry picked from commit
dab8a9169c197a98df23f2bd0eb5e18cdeb71c99)
Christian Gmeiner [Sun, 5 Jul 2020 11:32:19 +0000 (5 13:32 +0200)]
etnaviv: replace prims-emitted query
As we do not support stream output buffers we only count the primitives
processed by the pipeline. Use the correct query type.
Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5754>
(cherry picked from commit
01a1926fb9da774e6f3d9c630d3a10cd7fc2942b)
Rob Clark [Sun, 5 Jul 2020 18:35:01 +0000 (5 11:35 -0700)]
freedreno/fdperf: better compatible string matching
Previously we would match the start of the compatible string, in
a couple of cases, in order to match compatible strings like
"qcom,adreno-630.2". But these cases would always list a more
generic compatible (ie. "qcom,adreno") as a later choice. So if
we parse all the compatible strings, we can do a more precise
exact match.
This avoids us accidentially matching on "qcom,adreno-smmu" and
the hilarity that ensues.
Fixes:
5a13507164a ("freedreno/perfcntrs: add fdperf")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5762>
(cherry picked from commit
385d036f5836714bc59937369fdc3447fc0da5fb)
Jason Ekstrand [Sat, 27 Jun 2020 13:50:47 +0000 (27 08:50 -0500)]
vulkan/wsi: Don't consider VK_SUBOPTIMAL_KHR to be an error condition
This was causing vkAcquireNextImageKHR to not signal the fences and
semaphores. In the case where the semaphore was brand new, this could
cause an unsignalled syncobj to be passed into execbuffer2 which it will
reject with -EINVAL leading to VK_ERROR_DEVICE_LOST. Thanks to Henrik
Rydgård who works on the PPSSPP project for helping me figure this out.
Fixes:
ca3cfbf6f1e00 "vk: Add an initial implementation of the actual..."
Fixes:
778b51f491cfe "vulkan/wsi: Add a hooks for signaling semaphores..."
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5672>
(cherry picked from commit
b0bbb62325b829427d87acb25b00b3e0eb0343cb)
Bas Nieuwenhuizen [Sun, 5 Jul 2020 16:57:35 +0000 (5 18:57 +0200)]
radv: Always enable PERFECT_ZPASS_COUNTS.
We have an issue with early depth testing and discard, where
non-perfect counts count the tile if the early depth test succeeds.
We could spend a lot of effort to set this conditionally based
on the presence of the two conditions, but in the presence of
inherited queries let's try this first.
Changing PERFECT_ZPASS_COUNTS since I'm pretty sure this has a lower
performance impact than always using late depth testing.
CC: <mesa-stable@lists.freedesktop.org>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3218
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5757>
(cherry picked from commit
ad913a18b14f25b4f6995cb8a8b0c55c747029d8)
Bas Nieuwenhuizen [Sun, 5 Jul 2020 17:57:29 +0000 (5 19:57 +0200)]
radv: Set handle types in Android semaphore/fence import.
Seems like we forgot to set it all this time ...
Fixes:
b1444c9ccb0 "radv: Implement VK_ANDROID_native_buffer."
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5759>
(cherry picked from commit
ad151499583f1814280218bf2eae4eaf1e7090a4)
Samuel Pitoiset [Tue, 3 Dec 2019 13:01:28 +0000 (3 14:01 +0100)]
radv: disable FMASK compression when drawing with GENERAL layout
Fixes:
96063100 "radv: enable shaderStorageImageMultisample feature on GFX8+"
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3219
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/855
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3165>
(cherry picked from commit
7b21ce401f7e81deca5ab6a4353b1369d059bcee)
Marcin Ślusarz [Mon, 15 Jun 2020 12:26:26 +0000 (15 14:26 +0200)]
iris: return max counter value for AMD_performance_monitor
glGetPerfMonitorCounterInfoAMD(..., ..., GL_COUNTER_RANGE_AMD, ...)
returned NAN (binary representation of uint64_t(-1) as float) as
a max value.
Fixes:
0fd4359733e6 ("iris/perf: implement routines to return counter info")
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5473>
(cherry picked from commit
00d3b13837c5edd299dc40cbd84505c8d1d5927f)
Marcin Ślusarz [Mon, 15 Jun 2020 11:48:43 +0000 (15 13:48 +0200)]
st/mesa: fix reporting of float perf counters max value
Some Piglit tests (rightfully) fail because of min >= max when exposed
to perf counters that do not explicitly define their max value.
Failing tests:
spec/amd_performance_monitor/api/test_counter_info
spec/amd_performance_monitor/vc4/test_counter_info
u32/u64 changes are no-ops.
Fixes:
4cd1cfb9831d ("st/mesa: implement GL_AMD_performance_monitor")
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5473>
(cherry picked from commit
2f4a112ec4a4c45bdc99634af113531ddd7914a2)
Timothy Arceri [Fri, 3 Jul 2020 01:37:45 +0000 (3 11:37 +1000)]
nouveau: fix pointer-sign warning
Fixes:
e630271e0ec3 ("mesa: don't ever set NullBufferObj in gl_vertex_array_binding")
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5730>
(cherry picked from commit
ec8fdf8579d7f95257316d29a6e58ccdf6e5aaba)
Greg V [Thu, 23 Apr 2020 13:15:38 +0000 (23 16:15 +0300)]
gallium,util: undef ALIGN on FreeBSD to prevent name clash
Some rare headers like ipc/shm and pthread_np cause
machine/param.h to be included which defines a macro called ALIGN.
Signed-off-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3559>
(cherry picked from commit
29e2a3b8f5e75508202cd651d16648256f303779)
Emmanuel [Fri, 24 Jan 2020 22:48:06 +0000 (24 23:48 +0100)]
i965: Explicitly cast value to uint64_t
In FreeBSD x86 and aarch64 __u64 is typedef to unsigned long and
is the same size as unsigned long long.
Since we are explicitly specifying the format, cast the value
to the proper type.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Emmanuel <manu@FreeBSD.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3559>
(cherry picked from commit
f678811b567aafba60842bf0b3cff124da4daa0e)
Emmanuel [Fri, 24 Jan 2020 22:45:40 +0000 (24 23:45 +0100)]
iris: Explicitly cast value to uint64_t
In FreeBSD x86 and aarch64 __u64 is typedef to unsigned long and
is the same size as unsigned long long.
Since we are explicitly specifying the format, cast the value
to the proper type.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Emmanuel <manu@FreeBSD.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3559>
(cherry picked from commit
565a80450d28f6daa0ca8b98dad93924e712f94b)
Emmanuel [Fri, 24 Jan 2020 21:31:47 +0000 (24 22:31 +0100)]
meson: Do not enable USE_ELF_TLS for FreeBSD
Compiling with this option result in too much TLS usage and FreeBSD
cannot handle that.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Signed-off-by: Emmanuel <manu@FreeBSD.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3559>
(cherry picked from commit
708db983dd08984b0cade15be576497661ef154c)
Emmanuel Vadot [Wed, 1 Jul 2020 09:54:32 +0000 (1 11:54 +0200)]
meson: Add versioning for xvmc tracker
The xvmc tracker used to be versionned with autotool but this seems to have been
lost in the meson switch.
Fixes:
22a817af8a89eb3c762f ("meson: build gallium xvmc state tracker")
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Signed-off-by: Emmanuel Vadot <manu@FreeBSD.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5708>
(cherry picked from commit
02d0b2d5604d4a9e0ddfa8234db4c92682de0e69)
Timothy Arceri [Wed, 1 Jul 2020 06:20:17 +0000 (1 16:20 +1000)]
mesa: fix unintended fallthrough in glIsEnabled()
Fixes:
08fae07f5246 ("mesa: Handle GL_TEXTURE_GEN_STR_OES in _mesa_Enable()")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705>
(cherry picked from commit
dfb9be6994f663c47930f3b2ed46b9f880306730)
Timothy Arceri [Wed, 1 Jul 2020 03:04:25 +0000 (1 13:04 +1000)]
mesa: fix fallthrough in glformats
Before
908f817918fb this would fallthrough to GL_INVALID_OPERATION
if the validation condition was not met. But since that change it
will now only return GL_INVALID_OPERATION if
!_mesa_has_EXT_texture_compression_bptc(ctx) is true. This seems
unintended.
Here we fix up the fallthrough and add the fallthrough comment so
this doesn't happen again.
Fixes:
908f817918fb ("mesa: expose EXT_texture_compression_bptc in GLES")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3005
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5705>
(cherry picked from commit
040b07c7feebac90858f7426c2c20784642d0ca5)
Ian Romanick [Sat, 20 Jun 2020 20:48:19 +0000 (20 13:48 -0700)]
nir/algebraic: Don't distrubte absolute-value into dot-products
Dot product is multiplication followed by addition, and absolute value
does not distribute into addition.
Only vec4 platforms are affected by this change as scalar-only platforms
never have any of the fdot_replicated instructions. In the shader-db
results, below, shaders in MANY different applications are affected.
Trine, Doom3, Enemy Territory: Quake Wars, Counter Strike: Global
Offensive, Mad Max, Metro Last Light, and on and on... I'm really
shocked that there were no test regressions!
All Haswell and earlier platforms had similar results. (Haswell shown)
total instructions in shared programs:
16219743 ->
16219820 (<.01%)
instructions in affected programs: 12171 -> 12248 (0.63%)
helped: 1
HURT: 78
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 0.78% max: 0.78% x̄: 0.78% x̃: 0.78%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 0.35% max: 2.38% x̄: 0.91% x̃: 1.06%
95% mean confidence interval for instructions value: 0.92 1.03
95% mean confidence interval for instructions %-change: 0.78% 1.00%
Instructions are HURT.
total cycles in shared programs:
538481383 ->
538491045 (<.01%)
cycles in affected programs: 470796 -> 480458 (2.05%)
helped: 149
HURT: 142
helped stats (abs) min: 1 max: 1338 x̄: 71.13 x̃: 4
helped stats (rel) min: 0.06% max: 40.99% x̄: 2.76% x̃: 0.67%
HURT stats (abs) min: 1 max: 2092 x̄: 142.68 x̃: 12
HURT stats (rel) min: 0.07% max: 55.38% x̄: 5.07% x̃: 1.07%
95% mean confidence interval for cycles value: -5.28 71.69
95% mean confidence interval for cycles %-change: -0.07% 2.19%
Inconclusive result (value mean confidence interval includes 0).
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Fixes:
62795475e8f ("nir/algebraic: Distribute source modifiers into instructions")
Closes: #3129
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5581>
(cherry picked from commit
8591adea38b82f973948cd120ffd9f93eb3bd71d)
Samuel Pitoiset [Wed, 1 Jul 2020 06:06:09 +0000 (1 08:06 +0200)]
radv,vulkan: add a new x11 wsi drirc workaround for DOOM Eternal
DOOM Eternal happily creates a swapchain with 2 images for IMMEDIATE.
This fixes a 10% performance issue with RADV.
Cc: 20.1 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5704>
(cherry picked from commit
ab9ecb607b88dd4610815ac254205656918e408e)
Samuel Pitoiset [Wed, 1 Jul 2020 05:50:08 +0000 (1 07:50 +0200)]
Revert "vulkan/wsi/x11: Ensure we create at least minImageCount images."
This breaks some games like Wolfenstein Youngblood or Wolfenstein 2
that crash at launch if the number of images is more than what they
expected.
We could add vk_x11_strict_image_count to fix these game bugs but
it seems more conservative to revert that change and add a new wsi
drirc workaround for Doom Eternal.
This reverts commit
5f97dfc4c848cb6388ec138c19a22a8a880901d1.
Cc: 20.1 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5704>
(cherry picked from commit
311b9f25834d9ad6ad91f9eb41ec77ab71ab2a73)
Timothy Arceri [Wed, 1 Jul 2020 08:56:09 +0000 (1 18:56 +1000)]
nir: add missing break to nir_opt_access()
Fixes:
f2d0e48ddc74 ("glsl/nir: Add optimization pass for access flags")
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714>
(cherry picked from commit
d55aa78615f0b80a5e35f28b32201189c86345b7)
Timothy Arceri [Wed, 1 Jul 2020 05:25:40 +0000 (1 15:25 +1000)]
gallivm: add missing break
Fixes:
26c5ae80f0b5 ("llvmpipe: enable ARB_shader_group_vote")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5714>
(cherry picked from commit
06dc2f3f4759d5541fd52bf66ee43158c8405423)
Pierre-Eric Pelloux-Prayer [Thu, 25 Jun 2020 15:12:57 +0000 (25 17:12 +0200)]
st/mesa: do not clear NewDriverState for inactive states
Fixes:
085aa7f91e8 ("st/mesa: don't update atomic, SSBO, UBO and TBO states that have no effect")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2951
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5660>
(cherry picked from commit
5f1a16d06d8b2cf6942b1e4b250842ec0be2c8a4)
Erik Faye-Lund [Tue, 30 Jun 2020 09:13:51 +0000 (30 11:13 +0200)]
gallium/docs: remove reference to non-existent label
This label was removed a long time ago, let's also remove the reference
to it.
Fixes:
3acd7a34ab0 ("st/vega: Remove.")
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691>
(cherry picked from commit
686f6c72068767c7343943790510aa82562795d8)
Erik Faye-Lund [Tue, 30 Jun 2020 09:09:20 +0000 (30 11:09 +0200)]
gallium/docs: fixup formatting of numbered lists
Fixes:
0caf74bbcdf ("gallium: add PIPE_CAP_FRAMEBUFFER_MSAA_CONSTRAINTS")
Fixes:
8632626c81a ("gallium: add pipe_resource::nr_storage_samples, and set it same as nr_samples")
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5691>
(cherry picked from commit
686cf8eaada1a6a73a7e9ea6ebde1e573cf91966)
Dave Airlie [Tue, 30 Jun 2020 03:21:04 +0000 (30 13:21 +1000)]
draw/llvm: fix big-endian mask adjusting
This code was broken, but it worked by accident, as the
pad and the edgeflag were reversed, however when Roland
removed the cliptest field back in 2015, he stopped copying
the pad which actually stopped copy the edgeflag.
Fix the function to actually copy the edgeflag.
Fixes:
1b22815af624 ("draw: don't pretend have_clipdist is per-vertex")
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5679>
(cherry picked from commit
2bf2e6c83d2b97ecc84589ec94c17cb7beed2c53)
Dave Airlie [Mon, 29 Jun 2020 19:04:19 +0000 (30 05:04 +1000)]
mesa/get: fix enum16 big-endian getting.
These values were getting casted up to 32-bit, but then extracted
via 16-bit pointer later. Just store via 16-bit.
Fixes a lot of piglit on s390
Fixes:
f96a69f916ae ("mesa: replace GLenum with GLenum16 in common structures (v4)");
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5679>
(cherry picked from commit
0e6dfd11f220fd1c55b4dc2f371263414874f1fd)
Dave Airlie [Mon, 29 Jun 2020 05:57:14 +0000 (29 15:57 +1000)]
llvmpipe: fix occlusion queries on big-endian.
Casting to u8 arrays and picking the lowest byte is fairly LE specific
grab the other byte.
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5679>
(cherry picked from commit
b743c9bf2d5c987c97a22e725a56a2b641b58ae4)
Dave Airlie [Mon, 29 Jun 2020 04:59:20 +0000 (29 14:59 +1000)]
gallivm/nir: fix big-endian 64-bit splitting/merging.
The shuffles need to be swapped to do this properly on big-endian
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5679>
(cherry picked from commit
3aeb61da49cf0e141759c23d4790ad5dd96bcf52)
Dave Airlie [Mon, 29 Jun 2020 03:26:56 +0000 (29 13:26 +1000)]
glsl: fix constant packing for 64-bit big endian.
In a piglit run on s390 a lot of double tests fail, explicitly
packing/shifting things rather than using memcpy seems to help
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5679>
(cherry picked from commit
928660527697bc37b475037f9f2579aa4d2205b4)
Neil Armstrong [Fri, 24 Apr 2020 09:07:32 +0000 (24 11:07 +0200)]
Revert "CI: Disable Panfrost Mali-T820 jobs"
This reverts commit
46a32f0b6bf91279d001a4905babe4e50007696e.
The lab has recovered health, thus re-enable T820 Panfrost jobs.
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4727>
(cherry picked from commit
4cf4fe9d8217eb686f2220423fefede746cd427a)
Neil Armstrong [Fri, 24 Apr 2020 09:07:31 +0000 (24 11:07 +0200)]
Revert "CI: Disable Lima jobs due to lab unhealthiness"
This reverts commit
adeef43d15092a6910dceb3605f5ee3151dd2c47.
The lab has recovered health, thus re-enable Lima jobs.
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4727>
(cherry picked from commit
4793c2bcb95eb9abc64ddea7115d1c16df4063aa)
Dylan Baker [Thu, 30 Apr 2020 19:40:56 +0000 (30 12:40 -0700)]
mesa/swrast: use logf2 instead of util_fast_log2
The fast version is apparently not accurate enough. I wrote a very
simply test program that called logf2 and the old LOG2 function 100000
times. Across that the two functions had very similar run times, neither
appeared meaningfully faster, so the optimization of bringing back yet
another way to calculate log2f seems pointless.
Fixes:
bd4e769515345a6b20562310334bc828c0bb6605
("replace LOG2 with util_fast_log2")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2856
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5406>
(cherry picked from commit
fde25a6ed94409eca4e6b47f73774356314095d9)
Frédéric Bonnard [Thu, 7 May 2020 14:30:52 +0000 (7 16:30 +0200)]
meson: Revert commit overriding C++ standard with gnu++11 on ppc64el
Since a few versions, mesa now needs c++14 and compiling with gnu++11
on ppc64el fails.
Let's use the default standard and fix the collision of types between
c++ and altivec in a another patch.
Cc: mesa-stable
Signed-off-by: Frédéric Bonnard <frediz@debian.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4948>
(cherry picked from commit
5a27efdf0e36be8e36390c6a27eef91cbef21e71)
Frédéric Bonnard [Mon, 11 May 2020 13:57:20 +0000 (11 15:57 +0200)]
clover: Fix types collision between c++ and altivec
For that, we undefine bool, vector, pixel as advised by altivec.h in the
specific case that defines them.
Cc: mesa-stable
Signed-off-by: Frédéric Bonnard <frediz@debian.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4948>
(cherry picked from commit
cd7acd09b9f8cc68cbe50f9b239029efe7f9cd18)
Marek Olšák [Tue, 23 Jun 2020 03:54:59 +0000 (22 23:54 -0400)]
radeonsi: don't flush in fence_server_sync
This reverts commit
50b06cbc10dbca1dfee89b529ba9b564cc4ea6f6 and fixes
an Android performance regression.
Fixes:
50b06cbc10dbca1dfee89b529ba9b564cc4ea6f6 "radeonsi: fix fence_server_sync() holding up extra work v2"
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5602>
(cherry picked from commit
1401fc055c5496933318e87503144392ad3b6811)
Iago Toral Quiroga [Fri, 26 Jun 2020 10:25:01 +0000 (26 12:25 +0200)]
v3d/compiler: fix spill offset
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Fixes:
97566efe5cac0ff11b ("v3d: Rematerialize MOVs of uniforms instead of spilling them.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5664>
(cherry picked from commit
653dff949e93a8dc53924387f7b18328d14ebc60)
Dave Airlie [Sun, 28 Jun 2020 21:40:13 +0000 (29 07:40 +1000)]
gallivm/nir: fix const loading on big endian systems
The code was expecting the lower 32-bits of the 64-bit to be
what it wanted, don't be implicit, pull the value from the union.
This should fix rendering on big endian systems since NIR was
introduced.
Fixes:
44a6b0107b37 ("gallivm: add nir->llvm translation (v2)")
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5677>
(cherry picked from commit
237d72841805a6964b8ebef17c044020e34b1141)
Bas Nieuwenhuizen [Thu, 25 Jun 2020 16:06:42 +0000 (25 18:06 +0200)]
meson: Do not require shader cache for radv.
We fixed the compile error a while ago.
Fixes:
cc10b34e9ed "util/disk_cache: Fix disk_cache_get_function_timestamp with disabled cache."
Reviewed-by: Drew Davenport <ddavenport@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5649>
(cherry picked from commit
3b74e6fa28037ee2d3fc0824275a9e1c509a0e2c)
Vinson Lee [Sun, 24 May 2020 22:40:39 +0000 (24 15:40 -0700)]
rbug: Fix rbug_delete_vs_state lock acquisition.
Fix warning reported by Coverity Scan.
Double unlock (LOCK)
double_unlock: mtx_unlock unlocks rb_pipe->call_mutex while it is
unlocked.
Fixes:
07838ff990a7 ("rbug: Use the call mutex")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3023
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Jakob Bornecrantz <jakob@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5196>
(cherry picked from commit
c0c03f4772fef361137bba5681b71215aca107d1)
Eric Engestrom [Sat, 27 Jun 2020 15:43:12 +0000 (27 17:43 +0200)]
Eric Anholt [Sat, 23 May 2020 03:00:07 +0000 (22 20:00 -0700)]
ci: Rename x86_cross_arm_test to just arm_test.
This gets us back to the behavior we used to have for freedreno: clicking
play on arm_test gets you testing of the ARM platforms that aren't under
arm-build (the LAVA runners).
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
(cherry picked from commit
601a029e67cc62a32cf028d87653a877c18ecfbd)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Sat, 23 May 2020 02:58:50 +0000 (22 19:58 -0700)]
ci: Don't build an arm_test container now that the last user is gone.
db410c and cheza used to use it, and now both are on baremetal.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
(cherry picked from commit
9c9ade468598e9c177612e5fc0860aa8b9b39b1d)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Fri, 15 May 2020 18:22:37 +0000 (15 11:22 -0700)]
ci: Switch cheza (freedreno a630) testing to baremetal.
Now that we have scripts in place to do baremetal testing of cheza, switch
it over. As of this writing, we have 5 chezas for baremetal and 4 for the
old docker CI setup (just 2 fewer than we originally had before this work,
since some had had filesystem failures and I switched those first), and
once we are sure of this we can backport to stable branch CI and move the
rest of them to baremetal.
I've run a lot of jobs through the baremetal scripts as I worked on
sorting out vulkan CTS stability, so I feel good about the stability of
the GLES CTS here.
The options job is now split out to separate jobs, as we don't currently
have a way to stack multiple sets deqp runs with different env vars in a
single baremetal run, and just chaining cros_servo.sh invocations runs
into a lack of cleanup of the serial-watching scripts which we rely on
container exit sorting out for us. This means a little less than 2x the
artifacts downloads we had before for a630 and a few more container
instantiations.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
(cherry picked from commit
6f4fc4ff71524d55f6b481e4580c377d3c5f3b66)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Fri, 15 May 2020 16:57:25 +0000 (15 09:57 -0700)]
ci: Add scripts for controlling bare-metal chezas.
This will let us:
- deploy kernels for testing code depending on new kernel featuers
- Ensure a pristine state in the HW before starting our tests
- Avoid disk rot on the chezas taking them out (we'd lost 3/9 in a few
months).
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
(cherry picked from commit
c89a749f66527caf72c43b433dc27de1594a87f6)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Mon, 6 Apr 2020 22:55:30 +0000 (6 15:55 -0700)]
ci: Build a cheza kernel.
This is a set of kernel options I've come up with mostly cribbing from
chrome os's kernel config snippet. We also build an lzma kernel, as
uncompressed kernel is big but lzma is the only compression supported by
the bootloader. With that image, we have to pack it into a FIT formatted
image+dtb blob.
CONFIG_SUNRPC_DEBUG is added so that you can set "nfsrootdebug" to figure
out what's going wrong with your nfs mount (mine were "both the tcp and
nfsvers options were required, and don't try to use 'default' as the root
path to defer to DHCP's answer because otherwise you get
/tftpboot/default, just use an empty root path which doesn't prepend
/tftpboot.")
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
(cherry picked from commit
3a1010e21ac426736fb9af289570d3fbbaaa1884)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Tue, 7 Apr 2020 00:00:14 +0000 (6 17:00 -0700)]
ci: Disable the firmware loader user helper option in arm64 kernels.
We won't have a user helper, so don't block for 60 seconds for it to show
up. Speeds up debug of new kernel builds.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
(cherry picked from commit
b678568a5ef56a6b87204ec1b0499b7c04591656)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Tue, 26 May 2020 20:28:30 +0000 (26 13:28 -0700)]
ci: Quick exit qpa extraction for non-matching qpas.
When you're bringing up a new driver in CI with significant number of
failures (or when a CI run breaks a driver), the QPA extraction can easily
take the whole job timeout as we go about processing each QPA (100 of them
in my early VK CI fails) per unexpected result we're saving (50), which
involves reading and each line of the file in shell. By quickly filtering
out the QPA files not including our test, we can save all that shell
overhead, bringing QPA extract time down to a couple of minutes.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
(cherry picked from commit
f0c102c075f8ac76629bb34619187262ccc3e9d8)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Fri, 22 May 2020 22:48:55 +0000 (22 15:48 -0700)]
ci: Move baremetal DEQP_NO_SAVE_RESULTS setup to the yml.
I'm going to want it unset (artifacts enabled) for the cheza jobs.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
(cherry picked from commit
46d9b500f4fa57affbb75ffe092dcf23a717706f)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Tue, 26 May 2020 17:53:05 +0000 (26 10:53 -0700)]
ci: Add DEQP_EXPECTED_RENDERER support for VK tests.
I used this to debug what was going on with freedreno VK in CI.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
(cherry picked from commit
33e0821a99fcc9e97ae0ce2065f2ce14df568c31)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Tue, 26 May 2020 18:18:33 +0000 (26 11:18 -0700)]
ci: Auto-detect the architecture for VK ICD filenames.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
(cherry picked from commit
6766d51c15fc8143466b53aa7384d0c06218f12d)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Tue, 26 May 2020 18:07:41 +0000 (26 11:07 -0700)]
ci: Drop old comment about enabling --deqp-watchdog.
The parallel deqp runner does its own 60s watchdog.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
(cherry picked from commit
044f50b9fdb0186ce32c5e54710f025ff677dab7)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Tue, 26 May 2020 17:15:19 +0000 (26 10:15 -0700)]
ci: Drop double ".txt" suffix on the unexpected results file.
Just a cosmetic fix in reviewing logs.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
(cherry picked from commit
c343d00edeb9a36a937e38664945ba6554fd4011)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Michel Dänzer [Sat, 16 May 2020 10:07:42 +0000 (16 12:07 +0200)]
gitlab-ci: Also list arm/x86_build in needs: of test jobs
Without this, the test jobs may spuriously run if the arm/x86_build
jobs fail.
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit
43111ea74589db078aa7d385d49d480097d22439)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Michel Dänzer [Sat, 23 May 2020 14:07:53 +0000 (23 16:07 +0200)]
gitlab-ci: Enable -Werror in `meson-s390x` job
It's warning-clean.
v2:
* Prevent -Werror from being enabled in `meson-ppc64le` job as well
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
(cherry picked from commit
6c99de98eca60daf40f10291637475c03d8183b7)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Fri, 15 May 2020 23:27:01 +0000 (15 16:27 -0700)]
ci: Improve baremetal's logging of the job env var passthrough.
Trying to read the sh -x script output was rough, just cat the file once
we're done setting it up.
(cherry picked from commit
38f32372aa94519f86f3358bea1e26e11398d59c)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Fri, 15 May 2020 23:01:15 +0000 (15 16:01 -0700)]
ci: Do an explicit NIR validation-enabled pass on freedreno a630.
We disable it for most of the CTS because it's slow, but let's do a
fractional run to make sure that we don't hit any obvious failures.
(cherry picked from commit
6839ad59e6850beaa95a2d3a401672334ebd08e0)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Sat, 16 May 2020 00:18:12 +0000 (15 17:18 -0700)]
ci: Fix DEQP_CASELIST_FILTER (used by a630 noubo run)
We were doing sed -i /filter/p, which printed everything but printed the
filtered things twice (though they'd only get tested once). Now that the
filter works, run all the UBO tests instead of doing a 1/5 run, revealing
new failures.
(cherry picked from commit
90cf494338512bde89717600efabc4135545216e,
commit message and UBO fail list updated since we don't have the UBO
fixes in)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Tue, 19 May 2020 23:33:10 +0000 (19 16:33 -0700)]
ci: Disable SMP on the a5xx boards.
CPU0 comes up at some plausible freq, but the rest are at 19Mhz waiting
for cpufreq to come up, which has not been upstreamed.
(cherry picked from commit
6033c10092ae69ce2a0ad8fe0a25e124f6bbf50c)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Wed, 13 May 2020 18:08:08 +0000 (13 11:08 -0700)]
ci: Switch the baremetal runner to be an x86 docker image.
The runner is an x86 system, so running the ARM image meant doing
everything at runtime under qemu, and for the xz of the test rootfs that
was quite expensive. Also, we can rebuild x86 images much faster than we
can rebuild arm images for container development, which will help unblock
some of the other feature parity work I have to do versus the old docker
system that cheza is using.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
(cherry picked from commit
68b3b5bcab95f34073fcde7fe671cb25975218b0)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Wed, 13 May 2020 23:58:26 +0000 (13 16:58 -0700)]
ci: Update versions of packages to remove from rootfses.
testing's versions have updated, and the apt one was pretty big in the
stripped rootfs.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
(cherry picked from commit
8094a9ab685b67ce5bd54b3f7a2a7b22795f5420)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
Eric Anholt [Wed, 13 May 2020 21:36:36 +0000 (13 14:36 -0700)]
ci: Make the create-rootfs more resilient.
If the file doesn't exist, fine. We didn't happen to get that package
dragged in.
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
(cherry picked from commit
18fc6a95b672eaa331425538416f035786a1092d)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>