Timo Aaltonen pushed to branch upstream-experimental at X Strike Force / lib / 
mesa


Commits:
330bb9df by Mike Blumenkrantz at 2021-06-02T22:05:35+02:00
zink: ci updates

Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11007>
(cherry picked from commit f0f0a21f131f90274286e32aeb9582c7a3472560)

- - - - -
b6c9c31a by Eric Engestrom at 2021-06-05T17:56:40+02:00
.pick_status.json: Update to db83dc619c96c35a039f2d8a32e1a179c0f00d64

- - - - -
ff4455af by Mike Blumenkrantz at 2021-06-05T17:56:50+02:00
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: [email protected]

Reviewed-by: Lionel Landwerlin <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11116>
(cherry picked from commit 5515d3aec5ebe4e7dd7428aefdc2c1933414cd92)

- - - - -
5ac128a2 by Icecream95 at 2021-06-05T17:56:52+02:00
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 956d9613397acdfd90ff3c76bc540adf1783c7b5)

- - - - -
9f2d8033 by Matt Turner at 2021-06-05T17:57:07+02:00
sparc: Avoid some redefinition warnings

These definitions are provided by m_vector_asm.h now.

Fixes: 67ffb853f05 ("sparc: Reuse m_vector_asm.h.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11119>
(cherry picked from commit c460f3806d3ebecd103e6ad6cb82839e7217c768)

- - - - -
33681771 by Dave Airlie at 2021-06-05T17:57:08+02:00
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 <[email protected]>
Fixes: 6c0c61cb48e8 ("llvmpipe: add infrastructure for disk cache 
support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10946>
(cherry picked from commit 9520b70f75d7a695966f36ff619557c88c25a0dc)

- - - - -
0d224336 by Rhys Perry at 2021-06-05T18:10:55+02:00
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 <[email protected]>
Reviewed-by: Timur Kristóf <[email protected]>
Fixes: c353895c922 ("aco: use non-sequential addressing")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10898>
(cherry picked from commit 81162265b1d7f976c3810b420754ff8403f3aa18)

- - - - -
f74f8654 by Rhys Perry at 2021-06-05T18:11:04+02:00
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 <[email protected]>
Reviewed-by: Timur Kristóf <[email protected]>
Fixes: c353895c922 ("aco: use non-sequential addressing")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10898>
(cherry picked from commit 903f814b78f3bdb6f330889277ada147070bfd7b)

- - - - -
20c95780 by Sergii Melikhov at 2021-06-05T18:11:05+02:00
util/format: Change the pointer offset.

Changed the pointer offset to 2 to account for the second structure variable.

Fixes: 90f98b56f85 ("mesa: Deduplicate _mesa_pack_uint_z_row().")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4685
Signed-off-by: Sergii Melikhov <[email protected]>
Cc: [email protected]
Reviewed-by: Emma Anholt <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11060>
(cherry picked from commit 8251bd216e7ff300b93788cd1e2d49c301f5fe49)

- - - - -
13894695 by Jason Ekstrand at 2021-06-05T18:11:06+02:00
intel/vec4: Also use MOV_FOR_SCRATCH for swizzle resolves

In 2db88679432b, 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: 2db88679432b "intel/vec4: Don't spill fp64 registers 
more..."
Tested-by: Dave Airlie <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11155>
(cherry picked from commit 06ae2723d103f485bfdc2d18e3625ce7417ffc9c)

- - - - -
87ab76f2 by Samuel Pitoiset at 2021-06-05T18:29:18+02:00
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 <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11006>
(cherry picked from commit 7af915b4a0c796373898958d4160027eaab1e150)

- - - - -
dd5aa66b by Pierre-Eric Pelloux-Prayer at 2021-06-05T18:29:20+02:00
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 <[email protected]>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11107>
(cherry picked from commit 5e6f92f82cb383ee106c5b446c6f0a70b5a32145)

- - - - -
29b19d83 by Pierre-Eric Pelloux-Prayer at 2021-06-05T18:29:20+02:00
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 <[email protected]>
Fixes: 18b7cafc700 ("driconf: add disable_protected_content_check 
option")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11107>
(cherry picked from commit fcdfe91efa387dbcc01d5f18a4c711aaf5eb8d78)

- - - - -
627c3da8 by Pierre-Eric Pelloux-Prayer at 2021-06-05T18:29:22+02:00
radeonsi: fix encryption check for buffers

The writable bit means read-write, not just write.

Reviewed-by: Marek Olšák <[email protected]>
Fixes: 8873ea0e253 ("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 8baa77c8139e9c8754d0d482774ae4d04cb66f60)

- - - - -
806009f1 by Petr Vaněk at 2021-06-05T18:29:25+02:00
docs/install: remove one extra when

Fixes: 0fa854aea5ff ("docs: rework/update install.html")
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11161>
(cherry picked from commit 0e94b17dd1352f0db3662718c67e1f1c88e26780)

- - - - -
90bcb5a1 by Duncan Hopkins at 2021-06-05T18:29:34+02:00
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: 598dc3dca41 ("zink: use cached memory for all resources when 
possible")

Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11129>
(cherry picked from commit 18e8ec5f37f2922792775554ed775290d4cec7ac)

- - - - -
c5b2d57d by Pierre-Eric Pelloux-Prayer at 2021-06-05T23:10:30+02:00
radeonsi: add a gfx10 bug workaround for NOT_EOP

This is a backport of d8fefb13228256601c3ae04331f1c05828143ed7.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4812

- - - - -
82c059f7 by Eric Engestrom at 2021-06-10T13:22:52+02:00
.pick_status.json: Update to f884c2e3be363903a59dbee01868c7ad0bf0f346

- - - - -
14755c8a by Pierre-Eric Pelloux-Prayer at 2021-06-10T13:23:01+02:00
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 <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11182>
(cherry picked from commit cd9be8741ff0e93bd45aca29e7bb5de649f20a55)

- - - - -
f5f9e42e by Pierre-Eric Pelloux-Prayer at 2021-06-10T13:23:10+02:00
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: 965c6445ad4 ("winsys/amdgpu,radeonsi: add HUD counters for how much 
memory is wasted by slabs")
Reviewed-by: Marek Olšák <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11010>
(cherry picked from commit 1bd64d8cfbc1034593c912c77e1a0403ac9007db)

- - - - -
deb5aafd by Rob Clark at 2021-06-10T13:23:11+02:00
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: 0201f01dc4e ("egl: add EGL_ANDROID_native_fence_sync")
Signed-off-by: Rob Clark <[email protected]>
Reviewed-by: Emma Anholt <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11202>
(cherry picked from commit bfeff2c687d8c4f5ddd04792ed51dc0c03b22435)

- - - - -
23432781 by Samuel Pitoiset at 2021-06-10T13:23:12+02:00
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 <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11210>
(cherry picked from commit 736893060f6984b5c8198ddbd491265f60de8548)

- - - - -
b03dbc2d by Tony Wasserka at 2021-06-10T13:23:14+02:00
aco/ra: Fix off-by-one-error in print_regs

Reviewed-by: Daniel Schürmann <[email protected]>
Fixes: 3675aefa84e ("aco/ra: Fix build with print_regs enabled")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10517>
(cherry picked from commit 5bfef2de66be739a54e64275feaa42c2d340b548)

- - - - -
3c7b5798 by Jason Ekstrand at 2021-06-10T13:23:15+02:00
anv: Handle OOM in the pinned path in anv_reloc_list_add

Fixes: b3c0b1b21880 "anv: Use a bitset for tracking residency"
Reviewed-by: Lionel Landwerlin <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11236>
(cherry picked from commit 7e8c28383ce062a85f72c051faee8df1e92ae789)

- - - - -
23cb39dc by Rob Clark at 2021-06-10T13:23:16+02:00
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: 7821e5a3f8d ("ir3/sched: Don't penalize uses of already-waited 
tex/SFU")
Signed-off-by: Rob Clark <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10306>
(cherry picked from commit 09f64f74db9e0dd22ef6e4bf616ac7bffde2a6fd)

- - - - -
e31f9c08 by Samuel Pitoiset at 2021-06-10T13:23:17+02:00
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 <[email protected]>
Reviewed-by: Daniel Schürmann <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11238>
(cherry picked from commit 3761d994f6de81d151b4709314f6ffc9b59f0908)

- - - - -
a72f9745 by Samuel Pitoiset at 2021-06-10T13:23:18+02:00
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 <[email protected]>
Reviewed-by: Daniel Schürmann <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11247>
(cherry picked from commit d169dad3937e2b2692c3992e0ed417849e971ee6)

- - - - -
d9c4ac6c by Rhys Perry at 2021-06-10T13:23:18+02:00
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 <[email protected]>
Reviewed-by: Daniel Schürmann <[email protected]>
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 4870d7d829e57a993976d6da497e1202b1df2fa6)

- - - - -
1f5c2d28 by Adam Jackson at 2021-06-10T13:23:20+02:00
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: 4daef7ffe37 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 a4dc2021b89d7f70a5486aea9c3b59d7a05cc458)

- - - - -
6084c735 by Mike Blumenkrantz at 2021-06-10T13:23:21+02:00
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: [email protected]

Reviewed-by: Marek Olšák <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10963>
(cherry picked from commit 3c5b7dca30edc7365839944447476e0b8b56bf1f)

- - - - -
9ce9cbec by Samuel Pitoiset at 2021-06-10T13:23:23+02:00
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 <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11214>
(cherry picked from commit a234840e608274641d81f9d95c4a6beea0118d4c)

- - - - -
c2e611e1 by Mike Blumenkrantz at 2021-06-16T08:40:19+02:00
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: 7f28775edcc ("zink: implement uniform inlining")

Reviewed-by: Dave Airlie <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11003>
(cherry picked from commit eb12f7f11ea8d9e05193f475620ff9f9e0947c73)

- - - - -
fe5b61ab by Eric Engestrom at 2021-06-16T08:40:20+02:00
.pick_status.json: Update to 561f9ae74b2b7da06bb4830aaca8d017a3dd2746

- - - - -
27681b45 by Neha Bhende at 2021-06-16T08:40:20+02:00
svga: Initialize pipe_shader_state for transform shaders

This fixes crashes for opengl apps. Issue is found in vmware
internal testing

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

Reviewed-by: Charmaine Lee <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11274>
(cherry picked from commit 8a3fa2c4d587e803118518d03b4944917c72245b)

- - - - -
575b3a63 by Samuel Pitoiset at 2021-06-16T08:40:20+02:00
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 <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11302>
(cherry picked from commit 4026a07e741aa886eac1754a3f0ee94d3c944f90)

- - - - -
14e94e44 by Erik Faye-Lund at 2021-06-16T08:40:20+02:00
llvmpipe: fix edge-rule logic for lines

In 2737abb44ef, 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: 2737abb44ef ("gallium: Replace gl_rasterization_rules with 
lower_left_origin and half_pixel_center.")
Reviewed-by: Roland Scheidegger <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11183>
(cherry picked from commit 2812f030f19fc2e0cdaa423b0cc2a04db984ac27)

- - - - -
97c35a19 by Mike Blumenkrantz at 2021-06-16T08:40:20+02:00
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: a8e047e8f4a ("zink: discard pending clears during blit/copy if 
we'll overwrite the data")

Reviewed-by: Dave Airlie <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11307>
(cherry picked from commit 5f61382280dc4a82528bce31a8df2c8eed052386)

- - - - -
869a3193 by Mike Blumenkrantz at 2021-06-16T08:40:20+02:00
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: 787412b7eb8 ("zink: break out region overlap testing function into 
helper")

Reviewed-by: Erik Faye-Lund <[email protected]>
Reviewed-by: Alyssa Rosenzweig <[email protected]>
Reviewed-by: Joshua Ashton <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11279>
(cherry picked from commit 2428786d64c3bf3a352f7e304b66e052bea114e4)

- - - - -
bd6bc116 by Bas Nieuwenhuizen at 2021-06-16T08:40:20+02:00
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 <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10802>
(cherry picked from commit f7c622307da7179adc879b4af9bc10217922997b)

- - - - -
a48779ff by Bas Nieuwenhuizen at 2021-06-16T08:40:20+02:00
radv: Actually return correct value for read-only DCC compressedness.

Most stuff that depends on the value wouldn't be triggered anyway but
...

Fixes: b5ecf0748a5 ("radv: Ensure we never decompress or FCE read-only 
textures.")
Reviewed-by: Samuel Pitoiset <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10802>
(cherry picked from commit f44a6c6a5424db714e5c93e4b13d4e3f79bd5ed2)

- - - - -
a13c8e9c by Bas Nieuwenhuizen at 2021-06-16T08:40:20+02:00
radv: Allow DCC images to be compressed with foreign queues.

Otherwise we would always decompress when transitioning to the
foreign queue.

Fixes: 8b9033ad0a0 ("radv: Support DCC modifiers fully.")
Reviewed-by: Samuel Pitoiset <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10802>
(cherry picked from commit 720ee494e53e29a65a3c19bb302d013403bd1d57)

- - - - -
cd306105 by Felix DeGrood at 2021-06-16T08:40:20+02:00
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 <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9834>
(cherry picked from commit 1da9ff047e820a2295108534e075375ae00aa48a)

- - - - -
61d145ba by Ian Romanick at 2021-06-16T08:40:20+02:00
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: 9758b1d416a1 ("util: add util_set_thread_affinity helpers including 
Windows support")

Reviewed-by: Marek Olšák <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11228>
(cherry picked from commit a923e95b10152726a3cdf4bdbc35690425ce9bc3)

- - - - -
98d235a6 by Vinson Lee at 2021-06-16T09:06:28+02:00
travis: Download XQuartz from GitHub.

Bintray was sunsetted on May 1st, 2021.

Signed-off-by: Vinson Lee <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11026>
(cherry picked from commit fa1a1e7c803f3d6e67bd1962498636c20d39248f)

- - - - -
11ff9f39 by Eric Engestrom at 2021-06-18T17:35:13+01:00
docs: add release notes for 21.1.3

- - - - -
07ebfa36 by Eric Engestrom at 2021-06-18T17:35:38+01:00
VERSION: bump for 21.1.3 release

- - - - -
f7d970b2 by Eric Engestrom at 2021-06-18T18:29:41+01:00
.pick_status.json: Update to 977355c6e5efd781dde85d834172dd23cd4852f1

- - - - -
007e596a by Karol Herbst at 2021-06-18T18:29:52+01:00
nv50/ir: fix surface lowering when values get shared accross operations

With nir I encountered the case where the same value can be written to from
multiple surface operations. This caused some weird messups with the unions
as the def.rewrite operations caused unrelated instructions to get new their
value replaced as well.

In order to replace def.rewrite, we have to create a new temp value, write
to that one instead and move to the original value.

Fixes: 869e32593a9 ("gm107/ir: fix loading z offset for layered 3d image 
bindings")
Signed-off-by: Karol Herbst <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11053>
(cherry picked from commit c1f938b6475b1c936a78f6aacf76a1601c87a0bb)

- - - - -
3771988c by Erik Faye-Lund at 2021-06-18T18:29:57+01:00
zink: do not unmap dt-buffers twice

Seems I missed that we already did an unconditional unmap here, and
forgot to remove it. Whoops.

Fixes: 5159f406d ("zink: use gallium api to copy to display-target")
Reviewed-By: Mike Blumenkrantz <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11414>
(cherry picked from commit 0bb47032922b6faf043311ada0407bb43460de0c)

- - - - -
f3f253a6 by Mike Blumenkrantz at 2021-06-18T18:29:58+01:00
anv: fix dynamic primitive topology for tess

this needs to use the pre-converted topology using tess state patch control 
points

Fixes: f6fa4a80000 ("anv: add support for dynamic primitive topology 
change")

Reviewed-by: Jason Ekstrand <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11332>
(cherry picked from commit 24342e499bc58348b257716f629dccca3c1b0833)

- - - - -
1151f52c by Erik Faye-Lund at 2021-06-18T18:29:59+01:00
zink: drop repeated usage-bit

We already set this bit unconditionally right before, no point in
repeating it.

Fixes: 00dc0036b ("zink: flatten out buffer creation usage flags 
codepath")
Reviewed-By: Mike Blumenkrantz <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11416>
(cherry picked from commit 662dc70002c0749cdab796701424bf6876f49b9e)

- - - - -
c4e33a4e by Erik Faye-Lund at 2021-06-18T18:31:36+01:00
zink: do not check buffer-format for usage-bits

Buffers are created without a format in Vulkan, and we always pass in
R8_UNORM for them in Gallium. It's the view-formats we should have
checked, if anything.

But that's orthogonal to this. We shoudn't keep checking R8_UNORM
capabilities for buffers, all it's going to do is trigger asserts.

Fixes: 00dc0036b ("zink: flatten out buffer creation usage flags 
codepath")
Reviewed-By: Mike Blumenkrantz <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11416>
(cherry picked from commit a8fc38b276fcdcf3c5f3d3ea0351843c7e8e38c3)

- - - - -
482e34c7 by Martin Krastev at 2021-06-18T18:31:37+01:00
compiler/glsl: Use mutex lock while freeing up mem_ctx

builtin_builder::~builtin_builder() and builtin_builder::release()
are running into race condition. This leads lightsmark to crash at
the end because both calls ralloc_free which mutates the arguments state

This patch fixes lightsmark2008 crash

Fixes: e4da8b9c331cc3a ("mesa/compiler: rework tear down of 
builtin/types")

Reviewed-by: Charmaine Lee <[email protected]>
Reviewed-by: Neha Bhende <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Tested-by: Neha Bhende <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11385>
(cherry picked from commit eb272f65715c21c38c0dc0f5a84f431851aa87d0)

- - - - -
46d222c2 by Kenneth Graunke at 2021-06-18T18:31:38+01:00
anv: Fix dynamic primitive topology for tess on Gfx7.x too

Commit 24342e499bc58348b257716f629dccca3c1b0833 changed how primitive
topology is handled on Gfx8+ but missed updating the Gfx7.x code.

As a result, tests which previously used topologies like PATCHLIST_3
instead started using bogus ones like LINESTRIP_ADJ.  This caused a
GPU hangs in a bunch of Vulkan conformance tests involving tessellation.

This fixes those hangs.

Fixes: 24342e499bc ("anv: fix dynamic primitive topology for tess")
Reviewed-by: Mike Blumenkrantz <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11434>
(cherry picked from commit 0510a947ba287f8b416601fcbc64512164b2918e)

- - - - -
c0d17201 by Iván Briano at 2021-06-18T18:31:39+01:00
intel/nir: Fix txs for null surfaces

Closes: #4860
Fixes: 05a37e24220 ("intel/nir: Set lower txs with non-zero LOD")

Reviewed-by: Lionel Landwerlin <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11435>
(cherry picked from commit 4c67924251292106963afa4f27639fe5d3c32eef)

- - - - -
30b99a6a by Icecream95 at 2021-06-18T18:31:40+01:00
pan/mdg: Add a bundle ID to instructions

So that it is possible to check if two instructions were scheduled
into the same bundle.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11212>
(cherry picked from commit 1490e7e622d1b3ffe35ad9f577f13744497c0169)

- - - - -
538b8d13 by Icecream95 at 2021-06-18T18:31:41+01:00
pan/mdg: Reorder some code in mir_spill_register

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11212>
(cherry picked from commit ed9a9a09f2899baadbcf700352a70df677f658ef)

- - - - -
5c6f340b by Icecream95 at 2021-06-18T18:31:42+01:00
pan/mdg: Fill from TLS before spilling non-SSA nodes

Otherwise the data already written to the node will get overwritten.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11212>
(cherry picked from commit 31d26ebf1b9d0f819c894aec10c29a44052a995a)

- - - - -
b6d704d5 by Icecream95 at 2021-06-18T18:31:43+01:00
pan/mdg: Fix reading a spilt register in the bundle it's written

Read directly from the instruction getting spilt. Otherwise a fill
will be inserted before the spill writing the value, so the
instruction reading the spilt value gets garbage data.

Use the bundle_id to check if the instructions are in the same bundle.

Insert a move instruction, as the spill needs the value in a LD/ST
register such as AL0, while the ALU instruction reading the value
needs it in a work register such as R0.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4857
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11212>
(cherry picked from commit 38e8d7afe30bb33218191ac681607de48753fbae)

- - - - -
aaee1627 by Caio Marcelo de Oliveira Filho at 2021-06-18T18:31:44+01:00
spirv: Fix handling of OpBranchConditional with same THEN and ELSE

When an OpBranchConditional that had two equal branches was parsed, we
were treating it as a regular OpBranch.  However this doesn't work
well when there's an associated OpSelectionMerge.  We ended up
skipping marking the merge block as such, and depending on what was
inside the construct we would end up trying to process the block
twice.

Fix this by keeping the vtn_if around, but when emitting NIR identify
the two equal branch case.

Fixes: 9c2a11430e1 ("spirv: Rewrite CFG construction")
Closes: #3786, #4580
Reviewed-by: Yevhenii Kolesnikov <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Acked-by: Jason Ekstrand <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9297>
(cherry picked from commit 64cb143b922b4c074a8404359e7ed9b790941744)

- - - - -
9f557677 by Pierre-Eric Pelloux-Prayer at 2021-06-18T18:31:45+01:00
radeonsi: skip instance_count==0 draws on <= GFX9

This changes seems to prevent a hang, at least on Renoir chips.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4866
Cc: mesa-stable
Reviewed-by: Marek Olšák <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11356>
(cherry picked from commit 66dbd16f38e6acccb9ba3ba02d0f9bbb18e4e3b1)

- - - - -
0b51040b by Samuel Pitoiset at 2021-06-18T18:31:46+01:00
radv: reject binding buffer/image when the device memory is too small

>From the Vulkan spec 1.2.181:
    "The difference of the size of memory and memoryOffset must be
     greater than or equal to the size member of the
     VkMemoryRequirements structure returned from a call to
     vkGetImageMemoryRequirements with the same image"

This is invalid usage but adding a check in the driver is safe and
might avoid spurious failures.

This is a workaround for the inventory GPU hang with Cyberpunk 2077
which is actually a game bug. Luckily the game handles this error
gracefully.

Since the addrlib change from March, addrlib now selects a better
swizzle mode (4KB instead of 64KB) which reduces image size. Though,
the game assumes that an image with 2 mips is always smaller than the
same image but with 6 mips. This is not always true if the swizzle mode
is different. Then, it creates a D312 heap that is too small for the 2
mips image and the GPU hang with a memory violation, ugh...

Note that next vkd3d-proton release should also reject this but
fixing both sides is fine.

Cc: 21.1 mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4823
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4593
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11448>
(cherry picked from commit 50233d0daa3ca444a1f1caf6e9eab1144d28530d)

- - - - -
95476690 by Samuel Pitoiset at 2021-06-18T18:34:33+01:00
radv: always decompress both aspects of a depth/stencil image

If compressed rendering is only used for the depth aspect of a
depth/stencil image, stencil might also be compressed and it needs
to be decompressed. This only happens for non-TC compatible images.

As long as the driver needs to decompress the depth aspect, I don't
think that decompressing the stencil aspect introduces extra cost.

Fixes dEQP-VK.renderpass*late_fragment_tests*.d32_sfloat_s8_uint for
chips that don't support TC-compat HTILE.

Cc: 21.1 mesa-stable
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11263>
(cherry picked from commit 213c4c5f44f0f731a2c7538405612eea81f874fa)

- - - - -
687dc37c by Eric Engestrom at 2021-06-26T13:49:48+01:00
.pick_status.json: Update to 40b67a292297606f0a7576e3ef4087028d5edd17

- - - - -
8360f0d0 by Timur Kristóf at 2021-06-26T17:21:06+01:00
ac/nir: Update TCS output barriers with nir_var_mem_shared.

Output loads and stores are lowered to shared memory access,
so we have to update the barriers to also reflect this.

Closes: #4955
Fixes: bf966d1c1dd968116b8b547ca2739f5113caccb5

Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Daniel Schürmann <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11484>
(cherry picked from commit 72174a3eef230883444e7f7c77a89c4919bb38d5)

- - - - -
baf92537 by Bas Nieuwenhuizen at 2021-06-26T17:21:08+01:00
util/fossilize_db: Pull seek into lock.

Otherwise the seek can overlap with other reads/writes.

Fixes: eca6bb9540d ("util/fossilize_db: add basic fossilize db util to 
read/write shader caches")
Reviewed-by: Timothy Arceri <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11485>
(cherry picked from commit bd41c51c8f4d67d18d8a4407358ea4b71f153d2a)

- - - - -
f695fd9b by Bas Nieuwenhuizen at 2021-06-26T17:21:26+01:00
util/fossilize_db: Split out reading the index.

Fixes: eca6bb9540d ("util/fossilize_db: add basic fossilize db util to 
read/write shader caches")
Reviewed-by: Timothy Arceri <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11485>
(cherry picked from commit 2ec1bff0f3a4450a9739d59421dc9c9fe72c94c6)

- - - - -
12d568ed by Bas Nieuwenhuizen at 2021-06-26T17:21:28+01:00
util/fossilize_db: Do not lock the fossilize db permanently.

This avoids all locks for reads and using lock only while actually
writing.

This is enabled by doing two things:

1) Reading the index incrementally. This way we get new entries
   written by other processes and do not write duplicate entries.
2) Taking the lock only during writes, and applying the incremental
   read while holding the lock so we always append to the actual end of the 
file.

Fixes: eca6bb9540d ("util/fossilize_db: add basic fossilize db util to 
read/write shader caches")
Reviewed-by: Timothy Arceri <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11485>
(cherry picked from commit 4f0f8133a35ec2fec8d99936cd7425e40d092169)

- - - - -
29a41ca2 by Mike Blumenkrantz at 2021-06-26T17:21:47+01:00
zink: handle custom border color without matching wrap mode case

this is just default border color and the custom color is ignored

Fixes: 36f4e61403a ("zink: rework border color handling")

Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11495>
(cherry picked from commit 7144f338025e1f4db4d01cf79e1d9bda218fea0d)

- - - - -
9de17a84 by Daniel Stone at 2021-06-26T17:21:49+01:00
llvmpipe: Add handle export for resource_get_param

mesa/mesa@2dcc9c7f54ed from mesa/mesa!6639 added a resource_get_param
hook for llvmpipe, which was nice since it gave lavapipe more features.
One of those features was not exporting llvmpipe textures, so those
parts were stubbed out and landed in an assert(0).

This completely broke kms_swrast (llvmpipe+GBM) on non-release builds,
since that definitely does need to export llvmpipe textures.

The query codepath which caused this explosion does fall back to
resource_get_handle() - which is how it worked previously - but not all
callers do this, so just do what all other drivers implementing
resource_get_param() do and open-code the translation.

Signed-off-by: Daniel Stone <[email protected]>
Reviewed-By: Mike Blumenkrantz <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
Reported-by: Jonas Ådahl <[email protected]>
Tested-by: Jonas Ådahl <[email protected]>
Fixes: 2dcc9c7f54ed ("llvmpipe: add resource get param support.")
Ref: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6639
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11504>
(cherry picked from commit 91029211093c7ab9e32de101ac7499a958635ac6)

- - - - -
20acb90a by Dave Airlie at 2021-06-26T17:22:02+01:00
i965: fix regression in pipe control on g45

The cleanups got the wrong value here, just noticed in drive by.

Fixes: b505db3864b0 ("intel: Simplify few version checks involving 
G4X")
Reviewed-by: Tapani Pälli <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11519>
(cherry picked from commit 7c4478f43bbb18f6c71cb85433139c1a0d2cb697)

- - - - -
20df6c58 by Timur Kristóf at 2021-06-26T17:22:03+01:00
radv/llvm: Emit s_barrier at the beginning of NGG non-GS shaders.

This is to fix a hang that can potentially happen when not every
wave had launched when a gs_alloc_req is executed.

Cc: mesa-stable
Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Rhys Perry <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10837>
(cherry picked from commit 25314996d058629ff9d669fe917741c29222b35b)

- - - - -
f670a5b8 by Timur Kristóf at 2021-06-26T17:22:05+01:00
aco/gfx10: NGG zero output workaround for conservative rasterization.

Navi 1x GPUs have an issue: they can hang when the output vertex
and primitive counts are zero. The workaround is exporting a dummy
triangle.

This commit changes the dummy triangle's vertex so its positions
are all NaN. This should make sure the triangle is never rendered.

Cc: mesa-stable
Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Rhys Perry <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10837>
(cherry picked from commit f9447abb365c0e33a1afeb2ed25a5f10cc4aa968)

- - - - -
78059b4f by Timur Kristóf at 2021-06-26T17:22:09+01:00
aco/gfx10: Emit barrier at the start of NGG VS and TES.

The Navi 1x NGG hardware can hang in certain conditions when
not every wave launched before s_sendmsg(GS_ALLOC_REQ).

As a workaround, to ensure this never happens, let's emit a
workgroup barrier at the beginning of NGG VS and TES.
Note that NGG GS already has a workgroup barrier so it doesn't
need this.

Cc: mesa-stable
Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Rhys Perry <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10837>
(cherry picked from commit e6bf5cfe59bfc19124785d39ab25584bfbf07f5e)

- - - - -
5378895d by Jason Ekstrand at 2021-06-26T17:22:10+01:00
spirv: Create acceleration structure and shader record variables

spirv_to_nir now requires NIR variables to be created for everything.

Fixes: 10b3eecd361af "spirv: Don't remove variables used by 
resource..."
Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8637>
(cherry picked from commit 72437f6d540d77e7bcfcfd46938accd996684b51)

- - - - -
94bc232a by Thong Thai at 2021-06-26T17:47:24+01:00
radeon/vcn/enc: Add missing line to HEVC SPS header code

Add previously missing line in HEVC SPS header generation on VCN 1.0
devices, for when an image does not need to be cropped.

Fixes: e62c7e7c6ca ("radeon: Add cropping to encoded H.265 when padding is 
used")
Signed-off-by: Thong Thai <[email protected]>
Reviewed-by: Leo Liu <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11535>
(cherry picked from commit d977e7fbe107898480506fdd7bca9b177718587a)

- - - - -
31aa33c1 by Simon Ser at 2021-06-26T17:47:26+01:00
amd/addrlib: remove Meson debug message()

This message pops up in the Meson build logs, but has no context
and doesn't seem to be directed at end-users. Sounds like a leftover
from a debugging session.

Signed-off-by: Simon Ser <[email protected]>
Fixes: d0767fc045a1 ("amd/addrlib: use cpp.has_argument() to filter 
compiler arguments")
Reviewed-by: Pierre-Eric Pelloux-Prayer 
<[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11524>
(cherry picked from commit 17f0d7ef83d753f26957359b471d2471f52a4523)

- - - - -
7a2e0b2a by Marek Olšák at 2021-06-26T17:47:41+01:00
mesa: unreference zombie buffers when creating buffers to lower memory usage

This fixes an issue where one context only creates buffers while another
context only destroys buffers. Only the creating context can release its
buffers and the destroying context only turns them into zombie buffers.

This fix makes the creating context release its zombie buffers.
It's not a plot from an apocalyptic movie.

Fixes: e014e3b6be6 "mesa: don't count buffer references for the 
context that created them"
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4840

Reviewed-by: Pierre-Eric Pelloux-Prayer 
<[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11514>
(cherry picked from commit ec7e26234901359a694b54f72e7ac78f00b6ab60)

- - - - -
2b5ac114 by Francisco Jerez at 2021-06-26T17:47:42+01:00
intel/fs: Teach IR about EOT instruction writing the accumulator implicitly on 
TGL+.

This is unlikely to have had any negative side effect on the original
TGL, but will lead to issues on XeHP+ if the software scoreboard pass
isn't able to synchronize the accumulator writes.

Fixes: a27542c5ddec8 ("intel/compiler: Clear accumulator register before 
EOT")
Reviewed-by: Jason Ekstrand <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11433>
(cherry picked from commit 63abc083ce5e03843d72465a76fdb93064bc3eb9)

- - - - -
0e394225 by Francisco Jerez at 2021-06-26T17:47:43+01:00
intel/fs: Fix synchronization of accumulator-clearing W/A move on TGL+.

Right now the accumulator-clearing move emitted by the generator for
Wa_14010017096 inherits the SWSB field from the previous instruction.
This can lead to redundant synchronization, or possibly more serious
issues if the previous instruction had a TGL_SBID_SET SWSB
synchronization mode.  Take the SWSB synchronization information from
the IR.

Fixes: a27542c5ddec8 ("intel/compiler: Clear accumulator register before 
EOT")
Reviewed-by: Jason Ekstrand <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11433>
(cherry picked from commit c19cfa9dc22b805581ac5ed3ad835fed3c8506c2)

- - - - -
d743d6c1 by Pierre-Eric Pelloux-Prayer at 2021-06-26T17:47:47+01:00
radeonsi: disable ngg culling on llvm < 12

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4874
Reviewed-by: Marek Olšák <[email protected]>
CC: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11362>
(cherry picked from commit 52547cfbd0dac490ddff6bd8e4f25539fb994d80)

- - - - -
f0d4f840 by Icecream95 at 2021-06-26T17:48:25+01:00
pan/mdg: Add 16 bytes of padding to the end of shaders

Fixes INSTR_INVALID_PC faults when a shader ends on a 16MB boundary.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11551>
(cherry picked from commit 08495a948e16ac4fe54e282b77e8265551606219)

- - - - -
c884a02e by Timothy Arceri at 2021-06-26T17:48:27+01:00
util: add work around for the game We Happy Few

This is another Unreal engine game that requires the
allow_glsl_cross_stage_interpolation_mismatch workaround.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4966

Reviewed-by: Marek Olšák <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11558>
(cherry picked from commit d22cdcd33a4ee2e47b07235f986273b9b69d5804)

- - - - -
807fac63 by Erik Faye-Lund at 2021-06-26T17:48:28+01:00
zink: remove unused moltenvk functions

These functions were added, but never used. Let's get rid of them.

Fixes: c2cb2dd3bc6 ("zink: Added support for MacOS MoltenVK APIs.")
Acked-By: Mike Blumenkrantz <[email protected]>
Acked-by: Hoe Hao Cheng <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11554>
(cherry picked from commit 95cbb560cf73ba60086b3c91d35ebcf577a95320)

- - - - -
9f3f84ab by Erik Faye-Lund at 2021-06-26T17:48:33+01:00
libgl-gdi: add missing include

Without this, I get the following error if I try to compile Zink without
any other drivers:

src/gallium/targets/libgl-gdi/libgl_gdi.c(210): error C2037: left of
'flush_frontbuffer' specifies undefined struct/union 
'pipe_screen'

Fixes: fdfe4a4d307 ("libgl-gdi: add zink support")
Reviewed-by: Jesse Natalie <[email protected]>
Acked-by: Mike Blumenkrantz <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11536>
(cherry picked from commit 9aff548ff4f6c2d52bfca972050324e0eba043ec)

- - - - -
45b8874d by Erik Faye-Lund at 2021-06-26T17:48:53+01:00
aux/trace: fix bool argument

The second argument to debug_get_bool_option is a boolean, not a
pointer. Passing a NULL-pointer there triggers a warning, which we treat
as an error on MSVC:

---8<---
../src/gallium/auxiliary/driver_trace/tr_screen.c(1071): error C2220:
the following warning is treated as an error
../src/gallium/auxiliary/driver_trace/tr_screen.c(1071): warning C4047:
'function': 'bool' differs in levels of indirection from 
'void *'
../src/gallium/auxiliary/driver_trace/tr_screen.c(1071): error C4024:
'debug_get_bool_option': different types for formal and actual 
parameter 2
---8<---

Fixes: c1270d4845d ("aux/trace: add screen deduplication for zink+lavapipe 
tracing")
Reviewed-by: Jesse Natalie <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
Acked-by: Mike Blumenkrantz <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11424>
(cherry picked from commit bae4dca8e461640d8bed57dc77875afb4d5087ce)

- - - - -
e8627cc6 by Erik Faye-Lund at 2021-06-26T17:48:55+01:00
ci/windows: work around meson encoding issues

It turns out, some combinations of Meson and MSVC doesn't handle UTF-8
symbols in source-files as gracefully as we'd like. Luckily, there's a
work-around; forcing UTF-8 as the default-encoding.

Please see this Meson ticket for details:
https://github.com/mesonbuild/meson/issues/8263

Cc: mesa-stable
Reviewed-by: Jesse Natalie <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
Acked-by: Mike Blumenkrantz <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11424>
(cherry picked from commit b437fb810a83382cfae9aa2f38875a9a47e011a1)

- - - - -
e9e1a891 by Caio Marcelo de Oliveira Filho at 2021-06-26T17:50:23+01:00
nir/opt_if: Don't split ALU for single block infinite loops

Some infinite loop cases were already covered by other
restrictions (e.g. if the loop had a body), but the case with a single
block in the loop body wasn't yet.

This prevents an infinite loop when optimizing the shader in
dEQP-VK.reconvergence.subgroup_uniform_control_flow_ballot.compute.nesting2.3.2
and various others reconvergence tests.

Fixes: 0881e90c099 ("nir: Split ALU instructions in loops that read 
phis")
Reviewed-by: Ian Romanick <[email protected]> [v1]
Reviewed-by: Jason Ekstrand <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11476>
(cherry picked from commit b9519297955c3a75095f986b0e29afaf3a8c923a)

- - - - -
9110f505 by Lionel Landwerlin at 2021-06-26T17:50:25+01:00
anv: allocate bigger batches as we grow command buffers

This is the first time we see an application running out of mmap().

We essentially allocate too many batches (+65k) and end up not being
able to mmap them, at which point we can't mmap anything anymore and
things go sideways.

This change allocates bigger batch BOs as we grow an existing command
buffer. This drastically reduces the number of BOs we need to allocate
(the benchmark that reported the issue now reaches a max of ~630 BOs,
instead of reaching 65k and failing previously).

v2: Track the total batch size of command buffers (Jason)
    Just give 0 for batch_len to i915 (Jason)

v3: Fix indentation (Jason)

v4: Drop uncessary reshuffling of error labels (Jason)

v5: Remove empty lines (Marcin)

v6: Limit BO growing to chunks of 16Mb (Jason)

v7: Add assert on initial size (Jason)

v8: Add define for max size (Jason)

v9: Fixup v7 assert for non softpin platforms (Lionel)

Signed-off-by: Lionel Landwerlin <[email protected]>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4956
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11482>
(cherry picked from commit 40b67a292297606f0a7576e3ef4087028d5edd17)

- - - - -
0da603dc by Eric Engestrom at 2021-06-30T19:02:52+01:00
docs: add release notes for 21.1.4

- - - - -
ac105a8e by Eric Engestrom at 2021-06-30T19:03:05+01:00
VERSION: bump to 21.1.4

- - - - -


30 changed files:

- .gitlab-ci/windows/mesa_build.ps1
- .pick_status.json
- .travis.yml
- VERSION
- docs/install.rst
- + docs/relnotes/21.1.3.rst
- + docs/relnotes/21.1.4.rst
- src/amd/addrlib/meson.build
- src/amd/ci/deqp-radv-oland-aco-fails.txt
- src/amd/common/ac_nir_lower_tess_io_to_mem.c
- src/amd/compiler/README-ISA.md
- src/amd/compiler/aco_assembler.cpp
- src/amd/compiler/aco_form_hard_clauses.cpp
- src/amd/compiler/aco_instruction_selection.cpp
- src/amd/compiler/aco_opcodes.py
- src/amd/compiler/aco_register_allocation.cpp
- src/amd/compiler/tests/helpers.cpp
- src/amd/compiler/tests/test_isel.cpp
- src/amd/vulkan/radv_cmd_buffer.c
- src/amd/vulkan/radv_device.c
- src/amd/vulkan/radv_image.c
- src/amd/vulkan/radv_meta_decompress.c
- src/amd/vulkan/radv_nir_to_llvm.c
- src/amd/vulkan/radv_pipeline.c
- src/amd/vulkan/radv_private.h
- src/amd/vulkan/radv_radeon_winsys.h
- src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
- src/compiler/glsl/builtin_functions.cpp
- src/compiler/nir/nir_lower_tex.c
- src/compiler/nir/nir_opt_if.c


The diff was not included because it is too large.


View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/mesa/-/compare/3e59d54daad6a02ef314f8159d7e90b9849e605e...ac105a8e6e9f108902c54c69792d64fecd426240

-- 
View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/mesa/-/compare/3e59d54daad6a02ef314f8159d7e90b9849e605e...ac105a8e6e9f108902c54c69792d64fecd426240
You're receiving this email because of your account on salsa.debian.org.


Reply via email to