Commit graph

138492 commits

Author SHA1 Message Date
Eric Engestrom
11ff9f39f4 docs: add release notes for 21.1.3 2021-06-18 17:35:13 +01:00
Vinson Lee
98d235a60d travis: Download XQuartz from GitHub.
Bintray was sunsetted on May 1st, 2021.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11026>
(cherry picked from commit fa1a1e7c80)
2021-06-16 09:06:28 +02:00
Ian Romanick
61d145ba79 util: Zero out all of mask in util_set_thread_affinity
memset operates in bytes, and there are 8-bits in a byte.  This is a
very easy to miss typo. :(

Fixes: 9758b1d416 ("util: add util_set_thread_affinity helpers including Windows support")

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11228>
(cherry picked from commit a923e95b10)
2021-06-16 08:40:20 +02:00
Felix DeGrood
cd306105a1 anv: Clear all pending stall after pipe flush
Was only clearing CS stalls after emitting pending pipe
controls.  Need to clear all stalls.

Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9834>
(cherry picked from commit 1da9ff047e)
2021-06-16 08:40:20 +02:00
Bas Nieuwenhuizen
a13c8e9cc2 radv: Allow DCC images to be compressed with foreign queues.
Otherwise we would always decompress when transitioning to the
foreign queue.

Fixes: 8b9033ad0a ("radv: Support DCC modifiers fully.")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10802>
(cherry picked from commit 720ee494e5)
2021-06-16 08:40:20 +02:00
Bas Nieuwenhuizen
a48779fffa radv: Actually return correct value for read-only DCC compressedness.
Most stuff that depends on the value wouldn't be triggered anyway but
...

Fixes: b5ecf0748a ("radv: Ensure we never decompress or FCE read-only textures.")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10802>
(cherry picked from commit f44a6c6a54)
2021-06-16 08:40:20 +02:00
Bas Nieuwenhuizen
bd6bc1165a radv: Don't skip barriers that only change queues.
We depend on the queue mask for some decisions ...

CC: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10802>
(cherry picked from commit f7c622307d)
2021-06-16 08:40:20 +02:00
Mike Blumenkrantz
869a319313 zink: fix typo that's definitely not at all embarrassing or anything like that
and also adjust some formatting to pad out the diff and really make sure nobody
notices that anything was ever amiss here

Fixes: 787412b7eb ("zink: break out region overlap testing function into helper")

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11279>
(cherry picked from commit 2428786d64)
2021-06-16 08:40:20 +02:00
Mike Blumenkrantz
97c35a1932 zink: use scissor region for discarding clears during blit
ensure that clears aren't being mistakenly discarded or applied due to
scissor region being ignored and full surface geometry being used

Fixes: a8e047e8f4 ("zink: discard pending clears during blit/copy if we'll overwrite the data")

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11307>
(cherry picked from commit 5f61382280)
2021-06-16 08:40:20 +02:00
Erik Faye-Lund
14e94e4458 llvmpipe: fix edge-rule logic for lines
In 2737abb44e, the handling of pixel-offsets and edge rules were
untangled, but one case was missed.

This fixes the following dEQP test-cases on VirGL + LLVMpipe
- dEQP-GLES2.functional.draw.random.10
- dEQP-GLES2.functional.draw.random.42
- dEQP-GLES3.functional.draw.random.105
- dEQP-GLES3.functional.draw.random.114
- dEQP-GLES3.functional.draw.random.135
- dEQP-GLES3.functional.draw.random.144
- dEQP-GLES3.functional.draw.random.155
- dEQP-GLES3.functional.draw.random.174
- dEQP-GLES3.functional.draw.random.206
- dEQP-GLES3.functional.draw.random.31
- dEQP-GLES3.functional.draw.random.43
- dEQP-GLES3.functional.draw.random.84
- dEQP-GLES31.functional.draw_indirect.random.20

...as well as these on Zink + Lavapipe:
- spec@nv_primitive_restart@primitive-restart-disable_vbo
- spec@nv_primitive_restart@primitive-restart-vbo_combined_vertex_and_index
- spec@nv_primitive_restart@primitive-restart-vbo_index_only
- spec@nv_primitive_restart@primitive-restart-vbo_separate_vertex_and_index
- spec@nv_primitive_restart@primitive-restart-vbo_vertex_only

Fixes: 2737abb44e ("gallium: Replace gl_rasterization_rules with lower_left_origin and half_pixel_center.")
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11183>
(cherry picked from commit 2812f030f1)
2021-06-16 08:40:20 +02:00
Samuel Pitoiset
575b3a6314 radv: fix aligning the image offset by using align64()
This doesn't fix anything known. Found by inspection.

Cc: 21.1 mesa-stable
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/11302>
(cherry picked from commit 4026a07e74)
2021-06-16 08:40:20 +02:00
Neha Bhende
27681b45a3 svga: Initialize pipe_shader_state for transform shaders
This fixes crashes for opengl apps. Issue is found in vmware
internal testing

Fixes: f01c0565bb ("draw: free the NIR IR.")

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11274>
(cherry picked from commit 8a3fa2c4d5)
2021-06-16 08:40:20 +02:00
Eric Engestrom
fe5b61abd0 .pick_status.json: Update to 561f9ae74b 2021-06-16 08:40:20 +02:00
Mike Blumenkrantz
c2e611e1a4 zink: fix caching of shader variants with inlined uniforms
attempting to read the inlined uniforms directly after the variant key
using the size of the variant is not going to work since the variant union
is (sometimes) much larger than the size of the actual struct being used,
meaning that this would just copy a bunch of zeroes instead of the actual
inlined uniforms

Fixes: 7f28775edc ("zink: implement uniform inlining")

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11003>
(cherry picked from commit eb12f7f11e)
2021-06-16 08:40:19 +02:00
Samuel Pitoiset
9ce9cbecad radv: do not launch an IB2 for secondary cmdbuf with INDIRECT_MULTI on GFX7
It's illegal to emit DRAW_{INDEX}_INDIRECT_MULTI from an IB2 on GFX7.

PAL applies this workaround for indirect dispatches and also on
GFX8-9 but it doesn't seem needed.

This fixes various GPU hangs on Bonaire (GFX7).

Cc: 21.1 mesa-stable
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/11214>
(cherry picked from commit a234840e60)
2021-06-10 13:23:23 +02:00
Mike Blumenkrantz
6084c73575 util/vbuf: fix buffer overrun in attribute conversions
using the stride to calculate the buffer map size here is not correct, as
the stride is not necessarily equal to the attribute size, it's only the distance
between elements. for the case of overlapping elements (cts does this), the result
is that the attribute conversion will read past the end of the mapped src region

this is usually fine for drivers when they directly map the vertex buffer, as the memory
past the requested region is usually made available, but in the case where the readback
occurs using a staging resource sized exactly to the map region, this overflows and fails
silently, not even triggering a valgrind error because gpu memory lol

instead, add the size of the largest possible element, which will automatically be clamped
and ensure any staging buffers are correctly sized

Cc: mesa-stable@lists.freedesktop.org

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10963>
(cherry picked from commit 3c5b7dca30)
2021-06-10 13:23:21 +02:00
Adam Jackson
1f5c2d2898 classic/xlib: Fix the build after !9817
This commit mostly exists to be backported to 21.1.x, because the
classic binding to xlib is soon to be retired.

Fixes: 4daef7ffe3 mesa: Remove redundant gl_config::sampleBuffers
Closes: mesa/mesa#4900
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11270>
(cherry picked from commit a4dc2021b8)
2021-06-10 13:23:20 +02:00
Rhys Perry
d9c4ac6c04 aco: use v1b/v2b for ds_read_u8/ds_read_u16
The p_extract_vector isn't necessary.

For ds_read_u8 and ds_read_u16, we used a 32-bit regclass, but did't load
32 bits, and used dst_hint for vector loads when we shouldn't have.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4863
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11113>
(cherry picked from commit 4870d7d829)
2021-06-10 13:23:18 +02:00
Samuel Pitoiset
a72f9745a7 aco: fix emitting literal offsets with SMEM on GFX7
When the offset is negative, reg() isn't 255. Fix this by splitting
SGPR and literal emission. While we are at it, adjust a comment
saying that literals are also accepted on GFX6 which is wrong.

Fixes another batch of robustness tests.

Cc: 21.1 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11247>
(cherry picked from commit d169dad393)
2021-06-10 13:23:18 +02:00
Samuel Pitoiset
e31f9c0883 aco: fix range checking for SSBO loads/stores with SGPR offset on GFX6-7
GFX6-7 are affected by a hw bug that prevents address clamping to work
correctly when the SGPR offset is used. Use the VGPR offset to fix it.

Fixes various hangs with dEQP-VK.robustness.robustness2.* on Bonaire.

Cc: 21.1 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11238>
(cherry picked from commit 3761d994f6)
2021-06-10 13:23:17 +02:00
Rob Clark
23cb39dc66 freedreno/ir3: Fix use after free
If the tex/sfu ssa src is from a different block than the one currently
being scheduled, we do not have a valid sched-node.  So fallback to
previous behavior rather than dereference an invalid ptr.

Fixes: 7821e5a3f8 ("ir3/sched: Don't penalize uses of already-waited tex/SFU")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10306>
(cherry picked from commit 09f64f74db)
2021-06-10 13:23:16 +02:00
Jason Ekstrand
3c7b57988f anv: Handle OOM in the pinned path in anv_reloc_list_add
Fixes: b3c0b1b218 "anv: Use a bitset for tracking residency"
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11236>
(cherry picked from commit 7e8c28383c)
2021-06-10 13:23:15 +02:00
Tony Wasserka
b03dbc2d89 aco/ra: Fix off-by-one-error in print_regs
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes: 3675aefa84 ("aco/ra: Fix build with print_regs enabled")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10517>
(cherry picked from commit 5bfef2de66)
2021-06-10 13:23:14 +02:00
Samuel Pitoiset
23432781b0 radv: emit PA_SC_CONSERVATIVE_RASTERIZATION_CNTL only on GFX9+
This context register doesn't exist on older generations.

Cc: 21.1 mesa-stable
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/11210>
(cherry picked from commit 736893060f)
2021-06-10 13:23:12 +02:00
Rob Clark
deb5aafdda egl: zero is a valid fd
We shouldn't be using RETURN_EGL_EVAL() for eglDupNativeFenceFDANDROID()
return, as (while perhaps unlikely) zero is a valid fd.  The error case
for EGL_NO_NATIVE_FENCE_FD_ANDROID is already handled in egl_dri2.c
(dri2_dup_native_fence_fd()) so just use RETURN_EGL_SUCCESS() instead.

Also fix ret type.

Fixes: 0201f01dc4 ("egl: add EGL_ANDROID_native_fence_sync")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11202>
(cherry picked from commit bfeff2c687)
2021-06-10 13:23:11 +02:00
Pierre-Eric Pelloux-Prayer
f5f9e42e5e winsys/amdgpu: don't read bo->u.slab.entry after pb_slab_free
Otherwise the pb_slabs might be freed by another thread in between.

Valgrind example:

==676841== Invalid read of size 1
==676841==    at 0x6B0A8B3: get_slab_wasted_size (amdgpu_bo.c:659)
==676841==    by 0x6B0AD7D: amdgpu_bo_slab_destroy (amdgpu_bo.c:684)
==676841==    by 0x6ACF94F: pb_destroy (pb_buffer.h:259)
==676841==    by 0x6ACF94F: pb_reference_with_winsys (pb_buffer.h:282)
==676841==    by 0x6ACF94F: radeon_bo_reference (radeon_winsys.h:754)
==676841==    by 0x6ACF94F: si_replace_buffer_storage (si_buffer.c:274)
==676841==    by 0x6957036: tc_call_replace_buffer_storage (u_threaded_context.c:1554)
                            [...]
==676841==    by 0x4ECCDEE: clone (clone.S:95)
==676841==  Address 0x27879945 is 5 bytes inside a block of size 208 free'd
==676841==    at 0x48399AB: free (vg_replace_malloc.c:538)
==676841==    by 0x6B0E8BD: amdgpu_bo_slab_free (amdgpu_bo.c:863)
==676841==    by 0x6B89D4A: pb_slabs_reclaim_locked (pb_slab.c:84)
==676841==    by 0x6B89D4A: pb_slab_alloc (pb_slab.c:130)
==676841==    by 0x6B0EE7F: amdgpu_bo_create (amdgpu_bo.c:1429)

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4736
Fixes: 965c6445ad ("winsys/amdgpu,radeonsi: add HUD counters for how much memory is wasted by slabs")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11010>
(cherry picked from commit 1bd64d8cfb)
2021-06-10 13:23:10 +02:00
Pierre-Eric Pelloux-Prayer
14755c8a86 radeonsi: dirty msaa_config on rs->multisample_enable change
si_emit_msaa_config uses si_get_num_coverage_samples, and
si_get_num_coverage_samples depends on old_rs->multisample_enable.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4613
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11182>
(cherry picked from commit cd9be8741f)
2021-06-10 13:23:01 +02:00
Eric Engestrom
82c059f71e .pick_status.json: Update to f884c2e3be 2021-06-10 13:22:52 +02:00
Pierre-Eric Pelloux-Prayer
c5b2d57d33 radeonsi: add a gfx10 bug workaround for NOT_EOP
This is a backport of d8fefb1322.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4812
2021-06-05 23:10:30 +02:00
Duncan Hopkins
90bcb5a11a zink: Correct compiler issue with have_moltenvk member having been moved.
have_moltenvk was moved to a different location but code being protected in platform specific guard, so was unnoticed.

Fixes: 598dc3dca4 ("zink: use cached memory for all resources when possible")

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11129>
(cherry picked from commit 18e8ec5f37)
2021-06-05 18:29:34 +02:00
Petr Vaněk
806009f18e docs/install: remove one extra when
Fixes: 0fa854aea5 ("docs: rework/update install.html")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11161>
(cherry picked from commit 0e94b17dd1)
2021-06-05 18:29:25 +02:00
Pierre-Eric Pelloux-Prayer
627c3da8da radeonsi: fix encryption check for buffers
The writable bit means read-write, not just write.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Fixes: 8873ea0e25 ("radeonsi: determine secure flag must be set for gfx IB")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11107>
(cherry picked from commit 8baa77c813)
2021-06-05 18:29:22 +02:00
Pierre-Eric Pelloux-Prayer
29b19d83d9 frontend/dri: fix bool/int comparison
Cast tex->bind & PIPE_BIND_PROTECTED to a bool before doing the
comparison, otherwise it'll incorrectly fail.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Fixes: 18b7cafc70 ("driconf: add disable_protected_content_check option")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11107>
(cherry picked from commit fcdfe91efa)
2021-06-05 18:29:20 +02:00
Pierre-Eric Pelloux-Prayer
dd5aa66b9e frontend/dri: set PIPE_BIND_PROTECTED later
NV12, YUV, YUYV and UYVY handling checks !tex_usage so set
PIPE_BIND_PROTECTED after.

This fixes encrypted nv12 textures handling.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11107>
(cherry picked from commit 5e6f92f82c)
2021-06-05 18:29:20 +02:00
Samuel Pitoiset
87ab76f27c radv: enable RADV_DEBUG=invariantgeom for SotTR DX11/DX12 versions
DXVK 1.8.1 marks position as always invariant but it's disabled for
SotTR because it introduces rendering issues on NV. The DX12 version
also likely needs that.

Fixes a similar foliage issue initially found with the native version.

Cc: 21.1 mesa-stable
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/11006>
(cherry picked from commit 7af915b4a0)
2021-06-05 18:29:18 +02:00
Jason Ekstrand
1389469521 intel/vec4: Also use MOV_FOR_SCRATCH for swizzle resolves
In 2db8867943, we introduced a new meta-op MOV_FOR_SCRATCH which is
identical to MOV except it lets us identify MOVs emitted during spilling
so we know not to re-spill those instructions.  We emit them from
shuffle_for_64bit_data whenever the new for_scratch parameter is true.
Unfortunately, we missed the one used for resolving swizzles.

Fixes: 2db8867943 "intel/vec4: Don't spill fp64 registers more..."
Tested-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11155>
(cherry picked from commit 06ae2723d1)
2021-06-05 18:11:06 +02:00
Sergii Melikhov
20c957803c util/format: Change the pointer offset.
Changed the pointer offset to 2 to account for the second structure variable.

Fixes: 90f98b56f8 ("mesa: Deduplicate _mesa_pack_uint_z_row().")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4685
Signed-off-by: Sergii Melikhov <sergii.v.melikhov@globallogic.com>
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11060>
(cherry picked from commit 8251bd216e)
2021-06-05 18:11:05 +02:00
Rhys Perry
f74f86547b aco: don't create 4 and 5 dword NSA instructions on GFX10
"stability issues", apparently: https://reviews.llvm.org/D103348

fossil-db (Navi10):
Totals from 4512 (3.01% of 149839) affected shaders:
VGPRs: 221516 -> 223308 (+0.81%); split: -0.07%, +0.88%
CodeSize: 23000080 -> 23070672 (+0.31%); split: -0.08%, +0.39%
MaxWaves: 107718 -> 107496 (-0.21%); split: +0.11%, -0.32%
Instrs: 4321890 -> 4362822 (+0.95%); split: -0.00%, +0.95%
Latency: 71495710 -> 71581476 (+0.12%); split: -0.07%, +0.19%
InvThroughput: 11858568 -> 11938960 (+0.68%); split: -0.00%, +0.68%
VClause: 76575 -> 76585 (+0.01%); split: -0.05%, +0.07%
SClause: 168771 -> 168709 (-0.04%); split: -0.06%, +0.02%
Copies: 182305 -> 221948 (+21.75%); split: -0.00%, +21.75%
PreVGPRs: 194657 -> 195635 (+0.50%); split: -0.00%, +0.50%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Fixes: c353895c92 ("aco: use non-sequential addressing")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10898>
(cherry picked from commit 903f814b78)
2021-06-05 18:11:04 +02:00
Rhys Perry
0d224336f7 aco: do not clause NSA instructions
According to LLVM, this has "unpredictable results on GFX10.1".

https://reviews.llvm.org/D102211

fossil-db (Navi10):
Totals from 26690 (17.81% of 149839) affected shaders:
CodeSize: 167935160 -> 167706280 (-0.14%); split: -0.14%, +0.00%
Instrs: 31801427 -> 31744142 (-0.18%); split: -0.18%, +0.00%
Latency: 732672435 -> 732622463 (-0.01%)
InvThroughput: 163361435 -> 163357838 (-0.00%); split: -0.00%, +0.00%
VClause: 546131 -> 546903 (+0.14%); split: -0.00%, +0.14%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Fixes: c353895c92 ("aco: use non-sequential addressing")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10898>
(cherry picked from commit 81162265b1)
2021-06-05 18:10:55 +02:00
Dave Airlie
3368177143 llvmpipe: add the interesting bit of cpu detection to the cache.
This should detect if someone changes CPU configuration that matters like in a VM

Reviewed-by: Emma Anholt <emma@anholt.net>
Fixes: 6c0c61cb48 ("llvmpipe: add infrastructure for disk cache support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10946>
(cherry picked from commit 9520b70f75)
2021-06-05 17:57:08 +02:00
Matt Turner
9f2d803317 sparc: Avoid some redefinition warnings
These definitions are provided by m_vector_asm.h now.

Fixes: 67ffb853f0 ("sparc: Reuse m_vector_asm.h.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11119>
(cherry picked from commit c460f3806d)
2021-06-05 17:57:07 +02:00
Icecream95
5ac128a23c panfrost: Use first_tiler to check if tiling is needed
If there is a preload job needing tiling, but no other jobs, then
first_tiler will be set but not tiler_dep.

Fixes faults when two depth-only (stencil is reloaded) clears are done
in a row.

panfrost ffa30000.gpu: Unhandled Page fault in AS1 at VA 0x0000000044870000
               Reason: TODO
               raw fault status: 0x49002C1
               decoded fault status: SLAVE FAULT
               exception type 0xC1: TRANSLATION_FAULT_LEVEL1
               access type 0x2: READ
               source id 0x490
panfrost ffa30000.gpu: gpu sched timeout, js=0, config=0x3301, status=0x8, head=0x608a300, tail=0x608a300, sched_job=f5b0862d

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11104>
(cherry picked from commit 956d961339)
2021-06-05 17:56:52 +02:00
Mike Blumenkrantz
ff4455af78 anv: fix availability for copying timestamp query results
idx here is the index of the value being written, so if it isn't used/incremented
when the query result is written, the availability result will clobber it and
be written to the same buffer offset

Cc: mesa-stable@lists.freedesktop.org

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11116>
(cherry picked from commit 5515d3aec5)
2021-06-05 17:56:50 +02:00
Eric Engestrom
b6c9c31a89 .pick_status.json: Update to db83dc619c 2021-06-05 17:56:40 +02:00
Mike Blumenkrantz
330bb9df1a zink: ci updates
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11007>
(cherry picked from commit f0f0a21f13)
2021-06-02 22:05:35 +02:00
Eric Engestrom
3e59d54daa VERSION: bump for 21.1.2 2021-06-02 21:02:51 +02:00
Eric Engestrom
1a75caf792 docs: add release notes for 21.1.2 2021-06-02 21:00:20 +02:00
Erik Kurzinger
b7be28b062 vulkan/device_select: avoid segfault on Wayland if wl_drm is unavailable
On Wayland, if the wl_drm interface is not available, for example if the
compositor is using the proprietary NVIDIA driver along with their egl-wayland
library, the device_select layer will fail to initialize. However, the failure
path will unconditionally call wl_drm_destroy even though info.wl_drm would be
NULL in that case. This can cause a segfault in libwayland-client.so.

To fix this, check if info.wl_drm is NULL before calling wl_drm_destroy. This
way, initialization will fail gracefully even if that interface is not present.

Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10598>

(cherry picked from commit f4eb13dc55)
2021-06-02 20:08:40 +02:00
Samuel Pitoiset
b84b2bcd75 radv: enable RADV_DEBUG=invariantgeom for Monster Hunter World
DXVK 1.8.1 marks position as always invariant but the DX12 version
of the game has the same issue and it's not yet fixed on the
vkd3d-proton side.

Fixes some Z-fighting on GFX10.3.

Cc: 21.1 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11029>
(cherry picked from commit 816be7d46f)
2021-05-31 22:48:18 +02:00
Erik Faye-Lund
c53194d876 util/prim_restart: revert part of bad fix
When drawing using util_translate_prim_restart_ib, zink explicitly
ignores pipe_draw_start_count_bias::start, because
util_translate_prim_restart_ib used to create a new index-buffer without
padding at the start.

This makes a lot of sense, because creating a padded index buffer is
just wasteful.

So let's walk back on the choice of starting to pad the output buffer.

Fixes: 1272c2e052 ("util/prim_restart: fix util_translate_prim_restart_ib")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4851
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11059>
(cherry picked from commit 05bb449610)
2021-05-31 22:48:18 +02:00