-
cb6d8717
by Dylan Baker
at 2021-08-19T10:03:24-07:00
docs: add SHA256 sum for mesa 21.2.1
-
22406c63
by Dylan Baker
at 2021-08-19T10:07:28-07:00
.pick_status.json: Update to 35c3f5f08b7b11f3896412fb5778f127be329615
-
12253260
by Samuel Pitoiset
at 2021-08-19T10:07:33-07:00
radv: fix fast clearing depth images with mips on GFX10+
Found by inspection.
Cc: 21.2 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/12325>
(cherry picked from commit b16f3261a71c6fa22e300ba2b65d7e4128d8d05a)
-
8e0d61e1
by Mao, Marc
at 2021-08-19T10:07:34-07:00
iris: declare padding for iris_vue_prog_key
Otherwise with some compilers/environments (Android) padding
may contain garbage and memcmp of the key will fail.
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12438>
(cherry picked from commit fae1e99a15d12b82f65c77c90425335fec7562f1)
-
1133671e
by Erik Faye-Lund
at 2021-08-19T10:07:35-07:00
gallivm: fix texture-mapping with 16-bit result
16bit integer support also implies using 16-bit results when sampling
textures.
Because we're returning the results in float SSA values instead of int,
we need to bitcast back to integers before truncating the values.
Fixes: 00ff60f799c ("gallivm: add 16-bit integer support")
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12413>
(cherry picked from commit 45a61f1782561da9a7905bf584cd188d7b108c98)
-
fa069379
by Mike Blumenkrantz
at 2021-08-19T10:07:35-07:00
nir/lower_vectorize_tess_levels: set num_components for vectorized loads
this otherwise explodes when rewriting e.g., a single array component load to a vec4
Fixes: f5adf27fb92 ("nir,radv: add and use nir_vectorize_tess_levels()")
fixes zmike/mesa#94
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12419>
(cherry picked from commit 649251ad4e031609dafd4034b802d292fea6131c)
-
fb321556
by Dylan Baker
at 2021-08-19T10:07:49-07:00
.pick_status.json: Update to 8e5e70bb3de7f75ab1b039e2cec2975ba59e4af7
-
1a3180d5
by Ilia Mirkin
at 2021-08-19T10:07:53-07:00
mesa: don't return errors for gl_* GetFragData* queries
There is nothing in the spec about this. BindFragDataLocation* is
supposed to return an error, but not Get.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5221
Fixes: 59012c3133 ("mesa: Implement glGetFragDataLocation")
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12333>
(cherry picked from commit bce19b3a779fd3526ef6368bc2fb180da23ba53e)
-
33ace70a
by Erik Faye-Lund
at 2021-08-19T10:07:54-07:00
gallium/nir/tgsi: fixup indentation
This was using mixed tabs and spaces, let's fix that before we start
modifying the code.
Fixes: 42b5cfdbd26 ("gallivm/nir: fix vulkan vertex inputs")
Reviewed-by: default avatarDave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12440>
(cherry picked from commit 46746980081a8737b059dfcde7a0fea469837974)
-
099a7f6f
by Erik Faye-Lund
at 2021-08-19T10:07:55-07:00
gallium/nir/tgsi: initialize file_max for inputs
When this was rewritten to support Vulkan, we stopped initializing
file_max to -1 in the case of no inputs. This causes the draw module
to go down a needlessly pessimistic case, printing an error while we're
at it.
Fixes: 42b5cfdbd26 ("gallivm/nir: fix vulkan vertex inputs")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12440>
(cherry picked from commit 63529782d33b4c23282cebd7aef57bd70ff4e3fc)
-
e2626953
by Simon Ser
at 2021-08-19T10:07:56-07:00
etnaviv: add stride, offset and modifier to resource_get_param
Prior to this commit, the stride, offset and modifier were fetched
via WINSYS_HANDLE_TYPE_KMS. However we can't make such a query
succeed if the buffer couldn't be imported to the KMS device.
Instead, extend the resource_get_param hook to allow users to fetch
this information without WINSYS_HANDLE_TYPE_KMS.
Signed-off-by: Simon Ser <contact@emersion.fr>
Fixes: 9da901d2b2e7 ("etnaviv: fail in get_handle(TYPE_KMS) without a scanout resource")
Reported-by: Roman Stratiienko <r.stratiienko@gmail.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12370>
(cherry picked from commit b5919b0b106dbdf5f5da6733e83cc532bdf257d8)
-
5aa0faf5
by Simon Ser
at 2021-08-19T10:07:56-07:00
panfrost: implement resource_get_param
Prior to this commit, the stride, offset and modifier were fetched
via WINSYS_HANDLE_TYPE_KMS. However we can't make such a query
succeed if the buffer couldn't be imported to the KMS device.
Instead, implement the resource_get_param hook to allow users to
fetch this information without WINSYS_HANDLE_TYPE_KMS.
Signed-off-by: Simon Ser <contact@emersion.fr>
Fixes: 4c092947df30 ("panfrost: fail in get_handle(TYPE_KMS) without a scanout resource")
Reported-by: Roman Stratiienko <r.stratiienko@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12370>
(cherry picked from commit 99fc6f7271c611b58779a0e5c8a7d1764570449d)
-
5d99b086
by Simon Ser
at 2021-08-19T10:07:57-07:00
vc4: implement resource_get_param
Prior to this commit, the stride, offset and modifier were fetched
via WINSYS_HANDLE_TYPE_KMS. However we can't make such a query
succeed if the buffer couldn't be imported to the KMS device.
Instead, implement the resource_get_param hook to allow users to
fetch this information without WINSYS_HANDLE_TYPE_KMS.
A tiny helper function is introduced to compute the modifier of a
resource.
Signed-off-by: Simon Ser <contact@emersion.fr>
Fixes: 7bcb22363935 ("v3d, vc4: Fix dmabuf import for non-scanout buffers")
Reported-by: Roman Stratiienko <r.stratiienko@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12370>
(cherry picked from commit b1fbceac6f840172e2aeae929072ed92a4c47eb0)
-
2a88afe5
by Simon Ser
at 2021-08-19T10:08:54-07:00
v3d: implement resource_get_param
Prior to this commit, the stride, offset and modifier were fetched
via WINSYS_HANDLE_TYPE_KMS. However we can't make such a query
succeed if the buffer couldn't be imported to the KMS device.
Instead, implement the resource_get_param hook to allow users to
fetch this information without WINSYS_HANDLE_TYPE_KMS.
A tiny helper function is introduced to compute the modifier of a
resource.
Signed-off-by: Simon Ser <contact@emersion.fr>
Fixes: 7bcb22363935 ("v3d, vc4: Fix dmabuf import for non-scanout buffers")
Reported-by: Roman Stratiienko <r.stratiienko@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12370>
(cherry picked from commit 8de086e12f5a20a75b227e48faeb83d9aacb21c3)
Conflicts:
src/broadcom/ci/piglit-v3d-rpi4-fails.txt
-
f2b61f35
by Dylan Baker
at 2021-08-24T15:59:03-07:00
.pick_status.json: Update to 572ed2249465acd4c5f8a229d504a48cbddf95a5
-
e64eeb52
by Jason Ekstrand
at 2021-08-24T15:59:10-07:00
anv: Set CONTEXT_PARAM_RECOVERABLE to false
We want the kernel to ban our context immediately instead of foolhardily
attempting to recover.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12476>
(cherry picked from commit a6a449837b1753a70894a6d532262df2ec0de873)
-
8e4d6692
by Connor Abbott
at 2021-08-24T15:59:11-07:00
ir3/ra: Fix available bitset for live-through collect srcs
When we mark live-through sources that are merged with the destination
as killed, we kept the bitsets in sync, but we forgot to keep them in
sync when unmarking them after allocating the destination. The result
was that "available" wasn't correct for any instruction afterwards. This
resulted in a bad register allocation with IR3_SHADER_DEBUG=spillall for
a dEQP-VK test.
While we're changing this, use ra_foreach_src().
Fixes: 0ffcb19b9d9 ("ir3: Rewrite register allocation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12033>
(cherry picked from commit 70c22d38945223fbdef699c8af60f8be95b178c8)
-
387039e4
by Connor Abbott
at 2021-08-24T15:59:11-07:00
ir3/ra: Handle huge merge sets
It can happen that we create an enormous merge set, even larger than the
entire register file, in which case find_best_gap() would loop
infinitely. This seems to be triggered more often with
IR3_SHADER_DEBUG=spillall, since it actually happened with a CTS test.
Just bail out in that case.
Fixes: 0ffcb19b9d9 ("ir3: Rewrite register allocation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12033>
(cherry picked from commit efb34d6ee6af4b51fa3f3f32b7536c4b3de47100)
-
8f18e97d
by Timothy Arceri
at 2021-08-24T15:59:12-07:00
glsl: fix variable scope for instructions inside case statements
Fixes: 665d75cc5a23 ("glsl: Fix scoping bug in if statements.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5247
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12435>
(cherry picked from commit 02b394023b74620092c45734dcdb531e97d6f19d)
-
56f21793
by Samuel Pitoiset
at 2021-08-24T15:59:12-07:00
radv: fix copying depth+stencil images on compute
Using separate aspects is required.
Fixes few CTS failures (dEQP-VK.api.copy_and_blit.*) when the compute
path is forced in the driver. Note that CTS coverage of compute queue
is rather limited.
Cc: 21.2 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/12287>
(cherry picked from commit be6bdb09182ae53bab28b11bc7219890cdea77b2)
-
cc3e149f
by Dave Airlie
at 2021-08-24T15:59:26-07:00
vulkan/wsi/sw: wait for image fence before submitting to queue
With hw devices, when you submit a present, implicit sync will
make sure the work submitted to the gpu on the client will end
up happening before the present work submitted on the server.
However with sw paths there is no real GPU, the lavapipe fake
GPU thread is client side only and presenting is done directly
from the pixmap (or later shared pixmap). In order for this to
make sense the wsi common code should wait for the fence on the
image before queueing the submit to the server so that all
client works has been flushed to the pixmap before the copy or
present operation is submitted.
Fixes: 8004fa9c9501 ("vulkan/wsi: add sw support. (v2)")
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12502>
(cherry picked from commit 0cddfba3287cab2060c28b05247008bdd1c9905c)
-
76d1828b
by Vinson Lee
at 2021-08-24T15:59:29-07:00
freedreno: Require C++17.
Commit 3a772be026c ("freedreno: Add perfetto renderpass support")
uses C++17 init-statement feature.
GCC
../src/gallium/drivers/freedreno/freedreno_perfetto.cc: In lambda function:
../src/gallium/drivers/freedreno/freedreno_perfetto.cc:148:11: warning: init-statement in selection statements only available with ‘-std=c++17’ or ‘-std=gnu++17’
148 | if (auto state = tctx.GetIncrementalState(); state->was_cleared) {
| ^~~~
Clang
../src/gallium/drivers/freedreno/freedreno_perfetto.cc:148:11: warning: 'if' initialization statements are a C++17 extension [-Wc++17-extensions]
if (auto state = tctx.GetIncrementalState(); state->was_cleared) {
^
Intel C++ Compiler
../src/gallium/drivers/freedreno/freedreno_perfetto.cc(148): error: expected a ")"
if (auto state = tctx.GetIncrementalState(); state->was_cleared) {
^
Fixes: 3a772be026c ("freedreno: Add perfetto renderpass support")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5193
Suggested-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Acked-by: Rob Clark <robdclark@chromium.org>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12293>
(cherry picked from commit 4fc2a6cbdb6fab868a2ee4ee753caa2e83cf6666)
-
12f77679
by Erik Faye-Lund
at 2021-08-24T15:59:31-07:00
lavapipe: fix reported subpixel precision for lines
We have no reason to report a subpixel precision of 4 for lines; in fact
LLVMpipe uses 8 subpixel bits for lines, similar to other primitives.
But let's use the pipe-cap for this instead of hard-coding it.
Fixes: 9fbf6b2abff ("lavapipe: implement VK_EXT_line_rasterization")
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12277>
(cherry picked from commit a16f3963d36e66e6610c98083595e66712fbb296)
-
4d3e06e5
by Alyssa Rosenzweig
at 2021-08-24T16:28:24-07:00
panfrost: Handle non-dithered clear colours
In b9c095cc2c6 ("panfrost: Rewrite the clear colour packing code"),
packing of clear colours was corrected to use the tilebuffer's
fractional bits, fixing dithering of the clear colour with formats like
RGB565. Unfortunately, that commit did so unconditionally. If the
framebuffer is dithered, but dithering is disabled at the time of
the clear, we would incorrectly dither the clear.
This is a regression, as the old (broken) code passed the relevant CTS
test. What's the catch? Depending on dither state, there are two
formulas to pack tilebuffer colours. We need to handle both. Fixes
KHR-GLES31.core.draw_buffers_indexed.color_masks.
Fixes: b9c095cc2c6 ("panfrost: Rewrite the clear colour packing code")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12460>
(cherry picked from commit 22538b89b3b25d016f67799519a6554155b345ec)
Conflicts:
src/panfrost/lib/tests/test-clear.c
src/panfrost/vulkan/panvk_cmd_buffer.c
-
e3bcce01
by Alyssa Rosenzweig
at 2021-08-24T20:11:11-07:00
panfrost: Disable shader-assisted indirect draws
Although it is passing all of dEQP-GLES31, it is failing a few
KHR-GLES31.* tests. It also has performance issues at the moment. Invert
the existing noindirect debug flag to become a indirect debug flag. Set
this flag for dEQP-GLES31 CI on G52, to make sure the code doesn't bit
rot on the hope someone will pick this up later on.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12478>
(cherry picked from commit a7f7d741377904a6b69f6826b3dd10bd46b945b0)
Conflicts:
src/gallium/drivers/panfrost/pan_screen.c
src/panfrost/lib/pan_util.h
-
277e0c45
by Alyssa Rosenzweig
at 2021-08-25T09:35:54-07:00
pan/bi: Don't set td in blend shaders
This breaks screen-space derivatives in a shader that uses multiple
render targets, if the derivative calculation is scheduled after a BLEND
instruction calling into a blend shader.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12478>
(cherry picked from commit 710498e424e31ad4f308f52a03338ac30a70271b)
-
514270a6
by Alyssa Rosenzweig
at 2021-08-25T09:35:56-07:00
pan/bi: Correct the sr_count on +ST_TILE
Otherwise we'll get validator fails when emitting +ST_TILE.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12478>
(cherry picked from commit 5c2a4eb1c241e6eaa91263d6957a7186c58065f0)
-
62316670
by Alyssa Rosenzweig
at 2021-08-25T09:35:58-07:00
pan/bi: Extract load_sample_id to a helper
Will be reused in the next commit.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12478>
(cherry picked from commit 9f19a883bc536374d38f295f26eadeb3e1a56d47)
-
9075d635
by Alyssa Rosenzweig
at 2021-08-25T09:35:58-07:00
pan/bi: Set the sample ID for blend shader LD_TILE
Use the explicit sample mode and set the sample ID in the pixel indices
structure to the current sample ID. This fixes tilebuffer loads in blend
shaders on multisampled framebuffers.
Make sure the new routine is broken out to a helper for use with ST_TILE
in the next commit.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12478>
(cherry picked from commit 16394dc71a4e78bfeb762ffd05f314b329c17f54)
-
9fa11ec3
by Alyssa Rosenzweig
at 2021-08-25T11:08:33-07:00
pan/bi: Use CLPER_V6 on Mali G31
Apparently, CLPER_V7 is missing from Mali G31, but CLPER_V6 works. Fixes
INSTR_INVALID_ENC faults and failures in
dEQP-GLES3.functional.shaders.derivate.* on Dvalin.
Technically not an errata but an implementation difference. I suspect
Mali G51 will need this as well, should we ever allowlist it.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12478>
(cherry picked from commit 61c8e39649cad466c7eccfb233d6be3327142452)
Conflicts:
src/panfrost/bifrost/bi_quirks.h
-
b4a7542b
by Icecream95
at 2021-08-25T11:25:45-07:00
pan/bi: Extend bi_add_nop_for_atest for tilebuffer loads
Fixes framebuffer_fetch and blend_equation_advanced dEQP tests on v6.
v2: Use clause dependencies rather than comparing the message type
v3: Shift the BIFROST_SLOT_* constants before using them as a mask
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12375>
(cherry picked from commit 295807e6669025e0c31b78fc0aba276e58cf8dc2)
-
fd432106
by Boris Brezillon
at 2021-08-25T11:25:46-07:00
panfrost: Add explicit padding to pan_blend_shader_key
So the hash function doesn't end up hashing uninitialized values.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reported-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Fixes: bbff09b9521f ("panfrost: Move the blend shader cache at the device level")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11383>
(cherry picked from commit 6b7b8eb0468353ce09a3e305abdc26723d79d3f3)
-
0f5b53c8
by Alyssa Rosenzweig
at 2021-08-25T13:39:46-07:00
panfrost: Remove unneeded quirks from T760
Will cause trouble later in the series when we start garbage collecting
unneeded code.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11383>
(cherry picked from commit 6dfdeea213de141f7e6d9d2be22d340087f1729f)
-
7c7479e3
by Alyssa Rosenzweig
at 2021-08-25T14:50:12-07:00
panfrost: Use blendable check for tib read check
These are the same! Either you're blendable and can use f32/f16
conversion, or you're raw and you can only get raw. It's that simple!
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11383>
(cherry picked from commit 2cf581b1956e7ad54606c052bcec1ed0f25419c3)
-
0d34c23d
by Alyssa Rosenzweig
at 2021-08-26T09:10:10-07:00
pan/mdg: Insert moves before writeout when needed
Otherwise we end up accessing overwritten registers. Fixes
dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common.common_enable_buffer_enable
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11383>
(cherry picked from commit f45ceb818261859e623b45653b55347566c2b8f2)
This seems to have fixed a few additional tests on 21.2:
- dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo.const_expression_fragment
- dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_separate_blend_func_buffer_separate_blend_func
- dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common.common_blend_func_buffer_separate_blend_func
-
c90937aa
by Alyssa Rosenzweig
at 2021-08-26T09:38:39-07:00
panfrost: Zero initialize blend_shaders
Fixes an invalid read caught by valgrind when there is a hole in the
valid render target mask:
==6749== Conditional jump or move depends on uninitialised value(s)
==6749== at 0x5E88EC0: panfrost_prepare_fs_state (pan_cmdstream.c:417)
==6749== by 0x5E88EC0: panfrost_emit_frag_shader (pan_cmdstream.c:501)
==6749== by 0x5E88EC0: panfrost_emit_frag_shader_meta (pan_cmdstream.c:573)
==6749== by 0x5E88EC0: panfrost_update_state_fs (pan_cmdstream.c:2593)
==6749== by 0x5E8B0BF: panfrost_direct_draw (pan_cmdstream.c:2839)
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Fixes: a124c47b9f9 ("panfrost: Fix NULL derefs in pan_cmdstream.c")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11383>
(cherry picked from commit 3113dbd83710899c82478646011c1e1832f04fa1)
-
ece6458c
by Alyssa Rosenzweig
at 2021-08-26T10:06:38-07:00
panfrost: Fix NULL dereference in allowlist code
If a user attempts to run Panfrost on an unsupported GPU (e.g. Mali
T604), Panfrost will refuse to load and will destroy the screen
immediately, allowing for a graceful fallback to a software rasterizer.
However, the screen destroy code calls a screen_destroy function in the
GenXML vtbl -- and this function is still NULL when the allowlist is
checked. This manifests as crashes on unsuported GPUs.
Issue tracked down with Icecream95's mad Ghidra skills.
Closes: #5269
Fixes: 88dc4db6be7 ("panfrost: Init/destroy blitter from per-gen file")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reported-by: Icecream95 <ixn@disroot.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12512>
(cherry picked from commit 2d31d469f771b5ef617c88b8b50dff97288284fe)
-
68df13f3
by Dave Airlie
at 2021-08-26T10:45:57-07:00
crocus: copy views before adjusting
The current code overwrote the original view which meant if we
had to reemit a surface the second emit would be wrong.
This fixes cubemaps on gm45 and maybe some issues with 3D textures
elsewhere.
Fixes: f3630548f1da ("crocus: initial gallium driver for Intel gfx 4-7")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12514>
(cherry picked from commit 63138c42c5631ecf5d3c8eb3e39e33cac91df4f1)
Conflicts:
src/gallium/drivers/crocus/crocus_state.c
-
e5f2a4a4
by Dylan Baker
at 2021-08-26T10:46:17-07:00
.pick_status.json: Update to 71e748ad2443c373bb090fa1da2626da367b1d20
-
b389e158
by Alyssa Rosenzweig
at 2021-08-26T10:46:21-07:00
panfrost: Protect the variants array with a lock
Without a lock, two threads may bind the same shader CSO simultaneously,
allocate the same variant simultaneously, and then race each other in
the compiler. This manifests in various ways, most commonly failing the
assertion that UBO pushing has only run once. The simple_mtx_t solution
is used in Iris. Fixes the crash in:
dEQP-EGL.functional.sharing.gles2.multithread.simple.buffers.bufferdata_render
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12525>
(cherry picked from commit 40edc87956aac09b60d17eb4e479bcb02b8fa20c)
-
a8c39e9a
by Alyssa Rosenzweig
at 2021-08-26T10:46:21-07:00
panfrost: Don't use ralloc for resources
ralloc is not thread safe, so we cannot use a pipe_screen as a ralloc
context unless we lock the screen. The allocation patterns for resources
are trivial, so just use malloc/calloc/free directly instead of ralloc.
This fixes a segfault in:
dEQP-EGL.functional.sharing.gles2.multithread.random.images.copytexsubimage2d.1
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12525>
(cherry picked from commit e6924be737033a1fa2db6e9a356e53db81bd0079)
-
a56b5e1f
by Alyssa Rosenzweig
at 2021-08-26T10:46:22-07:00
panfrost: Move bo->label assignment into the lock
We already took the lock, we just unlocked too early. Since the label is
reset in the BO cache, this is racy. Minimal impact in practice but is
still /wrong/ and caught by helgrind.
Fixes: 3fa1f93dace ("panfrost: Label all BOs in userspace")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12525>
(cherry picked from commit bd15e5e6af898f558267e93797083c4ba5a5b3d2)
-
2987bf87
by Alyssa Rosenzweig
at 2021-08-26T10:46:23-07:00
panfrost: Switch resources from an array to a set
This will help us reduce shared state and simplify multithreading, at
the expense of additional CPU overhead.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12528>
(cherry picked from commit 2f63ccd080342d9f61fdceb983f266972b8a7d97)
-
ca3c31ad
by Alyssa Rosenzweig
at 2021-08-26T10:46:23-07:00
panfrost: Cache number of users of a resource
This can be tracked efficiently with atomics, and reduces the places we
use the rsrc->track.users bitmap which has concurrency issues.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12528>
(cherry picked from commit b8da5b1b7f4b5c4663621fae3db319d244e5d0b0)
-
6b788b88
by Alyssa Rosenzweig
at 2021-08-26T10:46:24-07:00
panfrost: Maintain a bitmap of active batches
This is on the context, so no concurrency issues. This will allow us to
efficiently iterate active batches.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12528>
(cherry picked from commit 79dd1a4e634ffd735323da7111f00e9dbda6a354)
-
22dd5056
by Alyssa Rosenzweig
at 2021-08-26T10:46:24-07:00
panfrost: Add foreach_batch iterator
Using the active mask.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12528>
(cherry picked from commit 5c4fbae571f0448897f05399b256d4ca48b3a24b)
-
a29b083b
by Alyssa Rosenzweig
at 2021-08-26T11:18:17-07:00
panfrost: Prefer batch->resources to rsrc->users
This expresses the semantic of the flush only applying to batches within
the context, not globally, in line with OpenGL's multithreading rules.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12528>
(cherry picked from commit e98aa5541307b28804858c126e1c878c08714bb3)
Conflicts:
src/gallium/drivers/panfrost/pan_job.c
-
57163a98
by Alyssa Rosenzweig
at 2021-08-26T11:18:19-07:00
panfrost: Remove rsrc->track.users
No longer needed.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12528>
(cherry picked from commit e7eb28fed0a2f13ef1ca05876c90b3fc9f7243ed)
-
ee6739d4
by Alyssa Rosenzweig
at 2021-08-26T11:18:20-07:00
panfrost: Remove writer = NULL assignments
These already happened.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12528>
(cherry picked from commit afebbadda8db4d6b832183ccf95c51a6e117899d)
-
44896842
by Alyssa Rosenzweig
at 2021-08-26T11:42:49-07:00
panfrost: Replace writers pointer with hash table
This ensures each context can have a separate batch writing a resource
and we don't race trying to flush each other's batches. Unfortunately
the extra hash table operations regress draw-overhead numbers by about
8% but I'd rather eat the overhead and have an obviously correct
implementation than leave known buggy code in tree.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12528>
(cherry picked from commit 8503cab2e0032dd4d4bd1548919d3c359db82547)
Conflicts:
src/gallium/drivers/panfrost/pan_job.c
-
47bc609b
by Dylan Baker
at 2021-08-27T09:57:49-07:00
.pick_status.json: Update to 9bc61108d73db4e614dda2a27750ff80165eedbb
-
be328711
by Mike Blumenkrantz
at 2021-08-27T10:00:00-07:00
zink: fix pipeline caching
this was apparently always broken, but in a very, very subtle way
where the hash table would compare the current pipeline state against
itself instead of using the cache entry's state
Cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12535>
(cherry picked from commit 560dc4f79076123706559d6d9cff053ce1b77bba)
-
1c89b990
by Dave Airlie
at 2021-08-27T10:00:02-07:00
crocus: add missing line smooth bits.
Just noticed this in passing.
Fixes: f3630548f1da ("crocus: initial gallium driver for Intel gfx 4-7")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12536>
(cherry picked from commit 6b7a68b7c21eeff1aa037b68b6fb9ab971fe9982)
-
554e47b6
by Dave Airlie
at 2021-08-27T10:00:02-07:00
crocus: add missing fs dirty on reduced prim change.
the reduced prim is used to decide some line antialiasing settings.
this fixes mesa-demos antialias
Fixes: f3630548f1da ("crocus: initial gallium driver for Intel gfx 4-7")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12536>
(cherry picked from commit ad786430610f457f299e0085c8ddc4a3fc676553)
-
2f1bc2bb
by Timur Kristóf
at 2021-08-27T10:00:11-07:00
aco: Fix to_uniform_bool_instr when operands are not suitable.
Don't attempt to transform uniform boolean instructions when
their operands are unsuitable. This can happen eg. due to other
optimizations that combine SALU instructions which clear out
the uniform instruction labels.
Cc: mesa-stable
Fixes: 8a32f57fff56b3b94f1b5589feba38016f39427c
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11573>
(cherry picked from commit abcc83e713467ac5f8f8c52da1d3c8e23b696ee5)
-
894627ec
by Alyssa Rosenzweig
at 2021-08-27T10:00:12-07:00
panfrost: Raise maximum texture size
The hardware can handle much larger textures than we allowed. The game
"Cathedral" requires larger textures for some bizarre reason. Raise the
limit so the game runs, syncing MAX_MIP_LEVELS, the comments, and the CAPs.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Closes: #5203
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12312>
(cherry picked from commit d051b06a484f4fadd6a71cdd580c76ddb93c597f)
-
ad37d530
by Nanley Chery
at 2021-08-27T10:00:13-07:00
intel/blorp: Fix Gfx7 stencil surface state valign
Stencil on Gfx7 has a vertical alignment element of 8, but the largest
its surface state can express is 4. Apply the Gfx6 solution of changing
the alignment in blorp_surf_retile_w_to_y.
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>
(cherry picked from commit c7bcbc950c04367c6abf54cb48ef930557dcea60)
-
18581c3a
by Ilia Mirkin
at 2021-08-27T10:00:16-07:00
glsl: fix explicit-location ifc matching in presence of array types
We were treating each field as if it took up a single slot. However
that's not the case. And with strict matching (GLSL 4.20+ / ES 3.1+) we
would end up not matching identical interfaces.
Fixes: c4545676d7 ("glsl/linker: fix location aliasing checks for interface variables")
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12479>
(cherry picked from commit 18962b94d31d82ae0a697c2afb731f4a447e1b54)
-
ce5be918
by Timothy Arceri
at 2021-08-27T10:05:48-07:00
nir: move nir_block_ends_in_break() to nir.h
Will be used in a following commit.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12064>
(cherry picked from commit a7f2e683ded4387febd8529bb0a3fa8c691fcce4)
-
71a2d809
by Lionel Landwerlin
at 2021-08-27T10:05:51-07:00
nir: prevent peephole from generating invalid NIR
We can't append instructions following a return/halt instruction
because the control flow helpers will modify the successor of the
block containing the return/halt. And the NIR validator enforces that
the return/halt must have the end of the function as successor.
This tends to happen following lower_shader_calls lowering which
inserts halts. This probably doesn't prevent the optimization, it'll
just happen in one of the return shaders after the halt has been
removed.
v2: Move prev block ending check earlier in the function (Daniel)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12506>
(cherry picked from commit a13e79843e054cc9b35f8f5b8b31fdf28b6ae95d)
-
1b9a3aa5
by Filip Gawin
at 2021-08-27T10:21:43-07:00
nir: fix shadowed variable in nir_lower_bit_size.c
Fixes: 6d792989924 ("nir/lower_bit_size: fix lowering of {imul,umul}_high")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12527>
(cherry picked from commit 9083e9a483696672514c18cec0a91ffd480f0591)
-
64720c0a
by Filip Gawin
at 2021-08-27T10:21:44-07:00
nir: fix ifind_msb_rev by using appropriate type
As you can see comparion "x < 0" doesn't make
sense if x is unsigned.
Fixes: a5747f8a ("nir: add opcodes for *find_msb_rev and lowering ")
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12548>
(cherry picked from commit 46f3582c6fe607fa30d7ac24d3abd92128855c98)
-
dc1431d3
by Yevhenii Kharchenko
at 2021-08-27T10:21:44-07:00
iris: fix layer calculation for TEXTURE_3D ReadPixels() on mip-level>0
Fixes assert when ReadPixels() called to read from FBO to
GL_PIXEL_PACK_BUFFER, on mip-level > 0, since num_layers
wasn't properly calculated with mip-level.
v2: patched 'iris_create_sampler_view' function instead of
'resolve_sampler_views'. Just like it was suggested in this
function's comment.
The logic of fix is similar to one in 'update_image_surface' function
of i965 driver, which is introduced in commit
f9fd0cf4790cb2a530e75d1a2206dbb9d8af7cb2.
With a slight change: setting array_len=1, like it was done in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5808 ,
since minifying depth fails KHR-GLES2.texture_3d.filtering tests.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4145
Fixes: 3c979b0e ('iris: add some draw resolve hooks')
Signed-off-by: Yevhenii Kharchenko <yevhenii.kharchenko@globallogic.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9253>
(cherry picked from commit b9452627730066872af6cf11a3fc390ca29ca242)
-
a5abb4eb
by Boris Brezillon
at 2021-08-27T12:59:44-07:00
panfrost: v7 does not support RGB32_UNORM textures
Cc: mesa-stable
Fixes: c6bdd976e611 ("panfrost: Split out v6/v7 format tables")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12588>
(cherry picked from commit 19e29960e92fdf68d647528f0b2f0740376e31b8)
-
b104b498
by Dylan Baker
at 2021-08-30T09:40:30-07:00
.pick_status.json: Update to a6a89aaa2f2943532d99d9bc7b80106a1740f237
-
30c3079c
by Timur Kristóf
at 2021-08-30T09:40:34-07:00
aco: Emit zero for the derivatives of uniforms.
Observed in a shader from Resident Evil Village.
This also helps prevent emitting invalid IR.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12599>
(cherry picked from commit cfb0d931f27438c1f7c94defa078f2f9454c5a54)
-
6f312ecc
by Samuel Pitoiset
at 2021-08-30T09:40:35-07:00
radv: disable DCC image stores on Navi12-14 for displayable DCC corruption
DCC image stores require 128B but 64B is used for displayable DCC.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5265
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5106
Cc: 21.2 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/12521>
(cherry picked from commit 0c550a5fe69271cb01026a3f05d1c918e6552b04)
-
13174690
by Timur Kristóf
at 2021-08-30T09:40:36-07:00
aco: Unset 16 and 24-bit flags from operands in apply_extract.
Consider the following sequence in a shader:
b = p_extract a
c = v_mad_u32_u16 b, X, 0
The optimizer applies extract, resulting in:
c = v_mad_u32_u16 a, X, 0 (correct)
Then it mistakenly turns that into:
c = v_mul_u32_u24 a, X, 0 (incorrect)
In this case, the p_extract is applied to v_mad_u32_u16 by
apply_extract. After this, we can no longer be sure that
the operands are still 16 or 24-bit, so we have to remove
this flag.
No Fossil DB changes.
Fixes: 54292e99c7844500314bfd623469c65adef954c5
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12558>
(cherry picked from commit 76b9dd6266f4b170e94ee47a6881c3d528c25969)
-
e773de69
by Timur Kristóf
at 2021-08-30T09:40:37-07:00
nir: Fix local_invocation_index upper bound for non-compute-like stages.
The lowered LS and NGG stages use local_invocation_index and they
can benefit from the unsigned upper bound because they can emit a
less expensive integer multiplication instruction.
This was working in the past, but accidentally borked by a refactor.
Fossil DB changes on Sienna Cichlid:
Totals from 956 (0.74% of 128647) affected shaders:
CodeSize: 2354172 -> 2344712 (-0.40%)
Instrs: 434359 -> 434327 (-0.01%)
Latency: 1883949 -> 1876814 (-0.38%)
InvThroughput: 762638 -> 757405 (-0.69%)
Fossil DB changes on Sienna Cichlid (with NGGC enabled):
Totals from 57873 (44.99% of 128647) affected shaders:
CodeSize: 155844192 -> 155607064 (-0.15%)
Instrs: 29799184 -> 29799152 (-0.00%)
Latency: 130959764 -> 130814224 (-0.11%); split: -0.11%, +0.00%
InvThroughput: 21100300 -> 20928635 (-0.81%); split: -0.81%, +0.00%
Fixes: 8af6766062044167fb3b61950ddbc7d67e4c3e48
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12558>
(cherry picked from commit 548b383310da7e5e29e7c24525a816a45afc26b8)
-
0ff8559d
by Rhys Perry
at 2021-08-30T09:40:37-07:00
aco: include utility in isel
For std::exchange().
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Fixes: c1d11bb92c9 ("aco: Add loop creation helpers.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5301
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12614>
(cherry picked from commit 9df9fe7dfaee84a7152e3d0c0e7bc62db1e5d889)
-
a02b68ac
by Dylan Baker
at 2021-08-31T09:26:17-07:00
.pick_status.json: Update to f4b61e90617f19ca1b8a3cfe046bac5801081057
-
808f6e60
by Neha Bhende
at 2021-08-31T09:26:20-07:00
svga/drm: use pb_usage_flags instead of pipe_map_flags in vmw_svga_winsys_buffer_map
This patch basically maps pipe_map_flags to pb_flags. Since we are mapping it,
STATIC_ASSERTS won't be required.
Fixes: 00c30dad78b0 ("gallium: renumber PIPE_MAP_* enums to remove holes")
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12606>
(cherry picked from commit 98fded8a393a944c562cf3d9b103c42022cb821b)
-
29e51b6e
by Mike Blumenkrantz
at 2021-08-31T09:26:21-07:00
radv: use pool stride when copying single query results
the specified stride is irrelevant for this case since there's only one
result to write
Cc: mesa-stable
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12619>
(cherry picked from commit 90a0556c27c40e3520d645f2512d4596a109c55c)
-
179a2918
by Mike Blumenkrantz
at 2021-08-31T09:26:21-07:00
zink: free local shader nirs on program free
leak--
Fixes: 61f2667cf5d ("zink: remove gfx program slot mapping")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12630>
(cherry picked from commit 441018a173fbeca0eeb5fe532af8c84965331c73)
-
25f91e6a
by Lionel Landwerlin
at 2021-08-31T09:26:22-07:00
intel/fs: fix framebuffer reads
We're missing some restrictions on those messages.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5292
Cc: mesa-stable
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12615>
(cherry picked from commit 838c0e5eefd444df701b6d9cbcef1b06eb5eb207)
-
2058e98e
by liuyujun
at 2021-08-31T09:26:22-07:00
gallium: fix surface->destroy use-after-free
regen surface on every update framebuffer
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: liuyujun <liuyujun@uniontech.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12520>
(cherry picked from commit 2bdc0bb324d60546257b250d9a78af1ee61539b8)
-
bfffc422
by Dylan Baker
at 2021-09-08T09:38:05-07:00
.pick_status.json: Update to 076c8f041a63c74c31d9f541684860628a8b9979
-
f8f623e4
by Quantum
at 2021-09-08T09:38:14-07:00
main: allow all external textures for BindImageTexture
According to OES_EGL_image_external_essl3:
On p. 196 in the errors section for BindImageTexture, replace the
last error with the following:
"An INVALID_OPERATION error is generated if <texture> is neither the
name of an immutable texture object, nor the name of an external
texture object."
According to OES_EGL_image_external:
The command
void EGLImageTargetTexture2DOES(enum target, eglImageOES image);
with <target> set to TEXTURE_EXTERNAL_OES defines the currently bound
external texture object to be a target sibling of <image>.
...
If <target> is not TEXTURE_EXTERNAL_OES, the error INVALID_ENUM is
generated. (Note: if GL_OES_EGL_image is supported then <target> may
also be TEXTURE_2D).
Currently, mesa only allows GL_TEXTURE_EXTERNAL_OES textures to be bound
by glBindImageTexture. However, the language of the specification does not
appear to use "external" to refer to GL_TEXTURE_EXTERNAL_OES specifically,
since OES_EGL_image_external allows external eglImageOES to be attached
to GL_TEXTURE_2D in the presence of GL_OES_EGL_image. Thus, it should be
interpreted to refer to all types of external textures, including 2D
textures attached via glEGLImageTargetTexture2DOES.
Fixes: ed43dd62acc ("main: allow external textures for BindImageTexture")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12383>
(cherry picked from commit e52aa1edffb8552d6215732b00efc85e6188d597)
-
4668c70d
by Ian Romanick
at 2021-09-08T09:39:38-07:00
util: Add and use functions to calculate min and max int for a size
Many places need to know the maximum or minimum possible value for a
given size integer... so everyone just open-codes their favorite
version. There is some potential to hit either undefined or
implementation-defined behavior, so having one version that Just Works
seems beneficial.
v2: Fix copy-and-pasted bug (INT64_MAX instead of INT64_MIN) in
u_intmin. Noticed by CI. Lol. Rename functions
`s/u_(uint|int)(min|max)/u_\1N_\2/g`. Suggested by Jason. Add some
unit tests that would have caught the copy-and-paste bug before wasting
CI time. Change the implementation of u_intN_min to use the same
pattern as stdint.h. This avoids the integer division. Noticed by
Jason.
v3: Add changes to convert_clear_color
(src/gallium/drivers/iris/iris_clear.c). Suggested by Nanley.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Suggested-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12177>
(cherry picked from commit 72259a870f6047c83b3f95ac205aca7ed5bdc049)
-
662d72b7
by Ian Romanick
at 2021-09-08T09:39:40-07:00
nir/lower_bit_size: Support add_sat and sub_sat
Without this, lowered saturating ALU instructions would only clamp to
the range of the new type instead of the range of the old type.
v2: Use nir_iclamp. Suggested by Jason. Use new
u_{int,uint}N_{min,max}() helpers.
Fixes: 090e2824079 ("nir: Add a saturated unsigned integer add opcode")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12142>
(cherry picked from commit 7d8bf7c167d962421d1f8af451b82188357926af)
-
ad3094ea
by Rhys Perry
at 2021-09-08T09:39:48-07:00
aco: don't constant propagate to DPP instructions
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12601>
(cherry picked from commit e27946ca110b69be75e999640ffd59fbb45ebe20)
-
6ce98f2d
by Marek Olšák
at 2021-09-08T09:39:51-07:00
mesa: remove unused indices parameter from validate functions
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12533>
(cherry picked from commit 1f80cd35cbf0f86c943302a10d1c7994002baefd)
-
b387d542
by Marek Olšák
at 2021-09-08T09:39:51-07:00
mesa: fix gl_DrawID with indirect multi draws using user indirect buffer
The code lowered the draws to direct ones but disregarded gl_DrawID.
We need to pass the draw ID to the driver manually.
gl_DrawID is the 3rd parameter of DrawGallium here.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5274
Cc: mesa-stable@lists.freedesktop.org
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12533>
(cherry picked from commit 614f273ab4cac46e929c0e688bbf2921b7763560)
-
3b028036
by Marek Olšák
at 2021-09-08T09:39:52-07:00
mesa: skip draw calls with unaligned indices
GL doesn't say which error we should report. dEQP expects no error and
no crash and allows skipping the call. Some drivers can crash.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5227
Cc: mesa-stable@lists.freedesktop.org
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12533>
(cherry picked from commit 6367d8036a261b7b5d0559d680c66697f488ad17)
-
a8d20a87
by Marek Olšák
at 2021-09-08T09:39:52-07:00
radeonsi: fix a memory leak in si_get_shader_binary_size
Fixes: bf8a1ca9024 "radeonsi: use the new run-time linker for shaders"
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5272
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12656>
(cherry picked from commit deacef5d43bfa610d5ba7cf10619d8b20b0a0e5e)
-
039fd5c6
by Mike Blumenkrantz
at 2021-09-08T09:39:53-07:00
zink: destroy shader modules on program free to avoid leaking
it's irrelevant whether the shader pointer is valid, the shader cache
may still exist
Fixes: a92442225ca ("zink: split up shader cache per-stage")
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12650>
(cherry picked from commit b7534fe82aa2fd7a4e3fe7695b7b8a4b3d3f23d5)
-
27bb508d
by Marek Olšák
at 2021-09-08T09:39:53-07:00
radeonsi: disable DCC stores on Navi12-14 for displayable DCC to fix corruption
This is a hardware limitation.
Fixes: 1d64a1045ea205ee0 "radeonsi: enable dcc image stores on gfx10+"
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12449>
(cherry picked from commit b648d6fbf8c692fda62d40883d7bdc646cdab5ec)
-
26171c97
by Adrian Bunk
at 2021-09-08T10:10:09-07:00
util/format: NEON is not available with the soft-float ABI
Fixes: 80923e8d58cc ("util/format: Add some NEON intrinsics-based u_format_unpack.")
Reviewed-by: Emma Anholt <emma@anholt.net>
Tested-by: Ross Burton <ross.burton@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12569>
(cherry picked from commit 7155676618754acf9ae5350ca2e7da494662cabb)
-
12ca003f
by Mike Blumenkrantz
at 2021-09-08T11:27:44-07:00
tgsi_to_nir: force int type for LAYER output
this otherwise gets confused as a vec4 most of the time
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12709>
(cherry picked from commit 3b289c9f30e91b329dc8e6d68053ee45b82ef9e9)
-
1f3067ce
by mattvchandler
at 2021-09-08T11:27:44-07:00
gallium/osmesa: fix buffer resizing
Generate a new buffer if OSMesaMakeCurrent is called with a new size
Fix a use-after-free error when the old buffer is destroyed
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5276
Fixes: 26c6f6cfbb6 ("gallium/osmesa: Remove the broken buffer-reuse scheme.")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12685>
(cherry picked from commit eed660221b720c5318a7c2e1eb66710e3937e561)
-
fddc8ddd
by Bas Nieuwenhuizen
at 2021-09-08T11:27:44-07:00
util/fossilize_db: Don't corrupt keys during entry read.
We change the hash that is still used to set entry->key.
Fixes: d2d642cc014 "util/fossilize_db: Only allocate entries after full read."
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12725>
(cherry picked from commit 8de60a1654a875d0b55512a1508f541f706f9b97)
-
b56bfb8e
by Ilia Mirkin
at 2021-09-08T11:27:44-07:00
freedreno: use OUT_WFI for emit_marker
This is only used pre-a5xx, where we want OUT_WFI. Tested on FD420.
Fixes: 8651cfbbf0 (freedreno: emit_marker() cleanup)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12734>
(cherry picked from commit 5d91cf41f1d81cb1c070ca4edf948d471c9ea911)
-
89f35c68
by Danylo Piliaiev
at 2021-09-08T11:27:44-07:00
turnip: re-emit vertex params after they are invalidated
Constants could be invalidated via HLSQ_INVALIDATE_CMD which is
emitted when new pipeline is bound and in CmdClearAttachments.
Also they become invalid after secondary cmd execution.
Fixes geometry flickering in Genshin Impact
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5313
Fixes: 815a85dd7c44f4be4cbf5b351836c921a7a923fd "turnip: do not re-emit same vs params"
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12684>
(cherry picked from commit 9ab4bfcb535fb45debd1d106da39c73f9aec5770)
-
57dad5c2
by Ed Martin
at 2021-09-08T11:27:44-07:00
winsys/radeonsi: Set vce_encode = true when VCE found
Allows VA-API encoding on AMD PITCAIRN
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5305
Fixes: 43c04ab2b43 ("radeonsi: separate video hw info based on HW engine individually")
Reviewed-by: James Zhu <James.Zhu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12679>
(cherry picked from commit 09aeb59b54d8290b02678c9cee588f73377c4762)
-
f842868e
by Connor Abbott
at 2021-09-08T11:27:44-07:00
ir3/lower_pcopy: Use right flags for src const/immed
At some point I split up the flags into overall/source flags and made
copies from immed/const only set IR3_REG_IMMED/IR3_REG_CONST on the
source flags, but I forgot to update this. Noticed by inspection.
Fixes: 0ffcb19b9d9 ("ir3: Rewrite register allocation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12747>
(cherry picked from commit e7f8d283d7c50813e98fda70a52990f3417bc4c6)
-
7ed05f32
by Connor Abbott
at 2021-09-08T11:27:44-07:00
ir3/lower_pcopy: Set entry->done in the swap loop
We process all the remaining copy entries one-at-a-time when emitting
swaps, so normally we wouldn't need to care about whether the entry is
done, except that we need to look at the other entries to split them up
and we need to skip this when the copy to be split has already been
processed.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5307
Fixes: 0ffcb19b9d9 ("ir3: Rewrite register allocation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12747>
(cherry picked from commit f5f948826ae47f32e5bfaf46da84b8a1b44f6f7d)
-
cd6ef859
by Emma Anholt
at 2021-09-08T11:27:44-07:00
llvmpipe: Free CS shader images on context destroy.
Cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12724>
(cherry picked from commit dee8b50cad57eb570194257a5b35744c5d79dd73)
-
998766f6
by Emma Anholt
at 2021-09-08T11:27:44-07:00
llvmpipe: Fix leak of CS local memory with 0 threads.
Fixes: bde08ce4d7bf ("llvmpipe: handle compute shader launch with 0 threads")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12724>
(cherry picked from commit a83a2b980cd54468247db6540b69975567d09797)
-
c3da924b
by Mike Blumenkrantz
at 2021-09-08T11:27:45-07:00
util/primconvert: force restart rewrites if original primtype wasn't supported
if we're doing a primtype change, the restart needs to be eliminated to
avoid losing restart data after the rewrite
Fixes: 583070748cb ("util/primconvert: handle rewriting of prim-restart draws with unsupported primtype")
Acked-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12625>
(cherry picked from commit 5bb747abd9ca8551283f0eee311b9fb1b19fba0d)
-
645ad452
by Timothy Arceri
at 2021-09-08T11:27:45-07:00
mesa: fix mesa_problem() call in _mesa_program_state_flags()
Previously STATE_INTERNAL returned 0 for the unhandled states
but the outer switch throws the error for unhandled states.
Fixes: b4f3497786ef ("mesa: remove STATE_INTERNAL")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5316
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12746>
(cherry picked from commit 732cd9db445d276de9ce0844430ebc0e9e4ade25)
-
73d24f9f
by Timothy Arceri
at 2021-09-08T11:27:45-07:00
glsl: fix variable scope for loop-_expression_
We need to evaluate the loop-_expression_ of a for loop before
we evaluate the loop body otherwise we will find the wrong
variable for the following loop.
int var_0 = 0;
for(; var_0 < 10; var_0++) {
const float var_0 = 1.0;
gl_FragColor = vec4(0.0, var_0, 0.0, 0.0);
}
Fixes: a87ac255cf7e ("Initial commit. lol")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5262
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12465>
(cherry picked from commit 8bbbbb02cd5e8b56c8a96c1e5bc52d1df80f6884)
-
d830feb8
by Timothy Arceri
at 2021-09-08T11:27:45-07:00
glsl: handle scope correctly when inlining loop _expression_
We need to clone the previously evaluated loop _expression_ when
inlining otherwise we will have conflicts with shadow variables
defined in deeper scopes.
Fixes: 5c02e2e2de75 ("glsl: Generate IR for switch statements")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5255
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12465>
(cherry picked from commit 174c057926fddd637d3c038c3162559a38bebe88)
-
a2904070
by Timothy Arceri
at 2021-09-08T11:27:45-07:00
glsl: fix variable scope for do-while loops
Without this the following code was successfully compiling.
void main()
{
do
int var_1 = 0;
while (false);
var_1++;
}
Fixes: a87ac255cf7e ("Initial commit. lol")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12465>
(cherry picked from commit 52893327fb0cc085df6b7b38de0cf240d5f9ae5e)
-
5facfec8
by Marcin Ślusarz
at 2021-09-08T11:27:45-07:00
glsl: propagate errors from *=, /=, +=, -= operators
Fixes compiler crash on:
void main()
{
gl_FragColor = a += 1;
}
(a is not declared anywhere)
Found with AFL++.
Fixes: d1fa69ed61d ("glsl: do not attempt assignment if operand type not parsed correctly")
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12717>
(cherry picked from commit 26302ccdc14f10265267f98aa79481ad88cd860c)
-
d3f8c5ff
by Marcin Ślusarz
at 2021-09-08T11:27:45-07:00
glsl: break out early if compound assignment's operand errored out
Fixes compiler crashes on:
struct Foo
{
float does_exist_member;
};
in vec2 tex;
out vec4 color;
void
main(void)
{
Foo foo;
foo.does_not_exist_member %= 3; /* or any of: <<=, >>=, &=, |=, ^= */
color = vec4(tex.xy, tex.xy);
}
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
CC: mesa-stable
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12717>
(cherry picked from commit 30b2cc423c5f710033525b94484d6efb45dcf68a)
-
d3701f91
by Corentin Noël
at 2021-09-08T11:27:45-07:00
glx: Prevent crashes when an extension isn't found
Avoid a NULL-pointer dereference.
Fixes: 2c8a85b712e ("glx: Stash a copy of the XExtCodes in the glx_display")
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12751>
(cherry picked from commit d326d32e24cbcda97c429d935fb869abf972a977)
-
7e508396
by Timur Kristóf
at 2021-09-08T14:19:15-07:00
aco: Fix invalid usage of std::fill with std::array.
In this case std::array doesn't behave like a regular array, therefore
it is NOT okay to index it outside the array, even though std::fill
needs us to do so.
Change the syntax to do the same thing slightly differently,
and add an assertion to make sure the registers are always within
the array's bounds.
Closes: #5289
Fixes: 0e4747d3fb7ec15f8c1d6b971b1352249e7d95c6
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Tony Wasserka <tony.wasserka@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12664>
(cherry picked from commit 9d20cf27326a2ed948182de75dc2c865ff0e7544)
Conflicts:
src/amd/compiler/aco_optimizer_postRA.cpp
-
8b677626
by Samuel Pitoiset
at 2021-09-08T14:21:36-07:00
radv: fix determining the maximum number of waves that can use scratch
This estimation was incorrect, the number of waves doesn't only
depend of the number of VGPRs.
Though, {SPI,COMPUTE}_TMPRING_SIZE.WAVES should limit the number of
scratch waves in flight, not sure if limiting it really works.
This fixes a GPU hang with an upcoming game, and this might also
helps resolving some spurious random GPU hangs.
Cc: 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/12700>
(cherry picked from commit b31994cf67bc1a4f179fae394d3976a5f73ad877)
Conflicts:
src/amd/vulkan/radv_shader.c
-
a31df83f
by Daniel Schürmann
at 2021-09-08T14:21:37-07:00
aco: fix p_insert lowering with 16bit sources
The previous lowering only wrote a single byte.
Fixes: 2f94353735b5ddfe2a72499e7bf6c7bbc80b9a00 ('aco: add p_extract/p_insert')
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12640>
(cherry picked from commit cc4682ed471d8fc0e10f3480183310901aa165a6)
-
0ff85a14
by Rhys Perry
at 2021-09-08T14:24:51-07:00
aco/spill: add temporary operands of exec phis to next_use_distances_end
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes: dfb10e4f4b7 ("aco/spill: don't count phis as variable access")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12702>
(cherry picked from commit 54f83d718ad6d089bfd0a018db8c9a0bbdc5c9ea)
-
a85cdda1
by Timur Kristóf
at 2021-09-08T14:25:24-07:00
aco: Use Builder reference in emit_copies_block.
Found while running with libstdc++ debug mode.
Fixes the following:
Error: attempt to copy-construct an iterator from a singular iterator.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Tony Wasserka <tony.wasserka@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12682>
(cherry picked from commit 728ed892df118d00c20c3317803c3279f84d9676)
-
02252789
by Timur Kristóf
at 2021-09-08T14:25:31-07:00
aco: Skip code paths to emit copies when there are no copies.
Found while running with libstdc++ debug mode.
Fixes the following:
Error: attempt to advance a dereferenceable (start-of-sequence)
iterator -1 steps, which falls outside its valid range.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Tony Wasserka <tony.wasserka@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12682>
(cherry picked from commit bb956464cbc3d5012527ea3d16dbd3f2c96cdae1)
-
38d30c07
by Dylan Baker
at 2021-09-09T09:14:12-07:00
.pick_status.json: Update to b58d6eaf1174aab296c4230e3895c65cba4bd9e3
-
289eb46b
by Rhys Perry
at 2021-09-09T09:14:16-07:00
nir: fix serialization of loop/if control
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Fixes: e76ae39ae22 ("nir: add support for user defined select control")
Fixes: b56451f82c1 ("nir: add support for user defined loop control")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12778>
(cherry picked from commit c1f724b2b93cf28f72b7695edfabc1d2557faa48)
-
4a94de80
by Dylan Baker
at 2021-09-15T09:19:26-07:00
.pick_status.json: Update to 7244aa19806cec5265e1e219cac1a99b0d3c62c6
-
656659a4
by Bas Nieuwenhuizen
at 2021-09-15T09:19:39-07:00
nir: Avoid visiting instructions multiple times in nir_instr_free_and_dce.
Sadly need to poke a bit in the src internals to avoid using yet another
heap allocated datastructure.
Fixes: 52515485723 ("nir: Add a nir_instr_remove that recursively removes dead code.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5323
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12726>
(cherry picked from commit b05cd10b8e49a04f3382112ee568b61853fbda0e)
-
87edf61f
by Marek Olšák
at 2021-09-15T09:19:42-07:00
radeonsi: strengthen the VGT_FLUSH condition in begin_new_gfx_cs
Cc: mesa-stable
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12812>
(cherry picked from commit a2a7610e1fd27e789cab13ce54ee3233791c26f0)
-
11195ad7
by Jordan Justen
at 2021-09-15T09:19:45-07:00
intel/isl: Enable MOCS 61 for external surfaces on TGL
Reworks:
* Lionel/Francisco: Add comment
Cc: mesa-stable
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12292>
(cherry picked from commit 333b2185d8da35d1dc6bc07e17bed5395890a2ff)
-
6222be27
by Dave Airlie
at 2021-09-15T09:19:46-07:00
crocus/gen7: add missing IVB/GT2 geom shader workaround.
Noticed this in passing.
Fixes: f3630548f1da ("crocus: initial gallium driver for Intel gfx 4-7")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12847>
(cherry picked from commit 4149a60209ddd91f52e35318d58831e3196dd67f)
-
910e3faa
by Ian Romanick
at 2021-09-15T09:19:47-07:00
nir/lower_gs_intrinsics: Return progress if append_set_vertex_and_primitive_count makes progress
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Fixes: 542d40d698a ("nir: Add new GS intrinsics that maintain a count of emitted vertices.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12802>
(cherry picked from commit edf357b2330dfcefae1a26fb0761fd53c75b77f5)
-
bf7543fc
by Samuel Pitoiset
at 2021-09-15T09:19:49-07:00
radv/llvm: fix using Wave32
The Wave32 pass manager has been removed a while ago.
Fixes: 94a1f45e15a ("ac/llvm: set target features per function instead of per target machine")
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/12833>
(cherry picked from commit 5eda8e5fe9038bf5ebf2bc203e62e4a2c54e609d)
-
ddb5243c
by Juan A. Suarez Romero
at 2021-09-15T09:33:22-07:00
broadcom/compiler: force a last thrsw for spilling
As we don't know if we are going to have spilling or not, emit always a
last thrsw at the end of the shader.
If later we don't have spillings and we don't need that last thrsw, we
remove it and switch back to the previous one.
This way we ensure all the spilling happens always before the last
thrsw.
v2 (Juan):
- Rework the code to force a last thrsw and remove later if no spilling
v3:
- Merge functionality inside vir_emit_last_thrsw (Iago)
- Add vir_restore_last_thrsw (Juan)
v4 (Iago):
- Fix/add new comments
- Rename variables/parameters
v5 (Iago):
- Fix comments
- Add assertion
Cc: mesa-stable
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4760
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12322>
(cherry picked from commit c98ddc778a34683e55d29122edba53ac4969deea)
Conflicts:
src/broadcom/compiler/nir_to_vir.c
-
a46d95bd
by Mike Blumenkrantz
at 2021-09-15T09:33:56-07:00
zink: fix ZINK_MAX_DESCRIPTORS_PER_TYPE to stop exploding the stack
this isn't the max per type, it's the max that can be used for a type,
which is the max used by a shader stage * the number of shader stages
Cc: mesa-stable
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12829>
(cherry picked from commit a45c84f2266a0e117b867bbab694f25352c603d2)
-
32cf8bc0
by Dylan Baker
at 2021-09-21T09:52:15-07:00
docs: add release notes for 21.2.2
-
15c8aeef
by Dylan Baker
at 2021-09-21T09:52:44-07:00
VERSION: bump for 21.2.2 release