Enrico Galli
5756f2cd2c
microsoft/spirv_to_dxil: Add support for load_vulkan_descriptor
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10064 >
2021-04-07 23:50:39 +00:00
Mike Blumenkrantz
31e546a762
util/hash_table: add macro for destructively iterating entries
...
a common usage for hash tables is for tracking exactly one instance of a pointer
for a given period of time, after which the table's entries are purged and it
is reused
this macro enables the purge phase of such usage to reset the table to a
pristine state, avoiding future rehashing due to ballooning of deleted entries
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8498 >
2021-04-07 22:57:27 +00:00
Mike Blumenkrantz
759cc91450
util/set: add macro for destructively iterating set entries
...
a common usage for sets is for tracking exactly one instance of a pointer
for a given period of time, after which the set's entries are purged and it
is reused
this macro enables the purge phase of such usage to reset the table to a
pristine state, avoiding future rehashing due to ballooning of deleted entries
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8498 >
2021-04-07 22:57:27 +00:00
Mike Blumenkrantz
539c7ca508
aux/trace: add a bunch of methods for lavapipe
...
with all of these, lavapipe can now be traced
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9958 >
2021-04-07 22:11:46 +00:00
Mike Blumenkrantz
c1270d4845
aux/trace: add screen deduplication for zink+lavapipe tracing
...
if zink+lavapipe is enabled at compile-time, special handling is needed
to ensure that only the intended screen is traced, otherwise malformed
xml will be generated
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10059 >
2021-04-07 21:48:37 +00:00
Dave Airlie
f89c8ba410
docs: update lavapipe bits for 1.1
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10086 >
2021-04-07 20:30:10 +00:00
Mike Blumenkrantz
e1ba6158c0
zink: export PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER
...
avoids memcpy slowpath
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9733 >
2021-04-07 20:19:59 +00:00
Dave Airlie
e1eb72ae3c
lavapipe: enable Vulkan 1.1 support
...
This is not fully conformant but the failures are the same as the Vulkan 1.0
failures.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9645 >
2021-04-07 19:56:17 +00:00
Dave Airlie
7b79db11c2
lavapipe: enable correct workgroup sizing
...
If I say layering violation, you say?
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9645 >
2021-04-07 19:56:17 +00:00
Dave Airlie
34525bb088
lavapipe: enable subgroups features
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9645 >
2021-04-07 19:56:17 +00:00
Dave Airlie
50049bd241
gallivm: add compute shader subgroup system values support
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9645 >
2021-04-07 19:56:17 +00:00
Dave Airlie
bf6fd9a2eb
gallivm: add subgroup lowering support
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9645 >
2021-04-07 19:56:17 +00:00
Dave Airlie
8dc398848a
gallivm: add subgroup read invocation support
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9645 >
2021-04-07 19:56:17 +00:00
Dave Airlie
2d6a0a8620
gallivm: add subgroup ballot support
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9645 >
2021-04-07 19:56:17 +00:00
Dave Airlie
7b3073ad44
gallivm: add subgroup reduction + in/ex scan support
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9645 >
2021-04-07 19:56:17 +00:00
Dave Airlie
2e1266d1fe
gallivm: add subgroup elect intrinsic support.
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9645 >
2021-04-07 19:56:17 +00:00
Dave Airlie
52415cd39e
gallivm: add subgroup system values support
...
This just adds support for retrieving subgroup system values.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9645 >
2021-04-07 19:56:17 +00:00
Dave Airlie
1b8145eee9
gallivm: move get_flt_bld to header.
...
Rewrite a little as we have to add 16-bit support later in life
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9645 >
2021-04-07 19:56:17 +00:00
Dave Airlie
2e23108274
gallivm: add subgroup vote 64-bit and feq support.
...
These are both required for vulkan subgroup support.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9645 >
2021-04-07 19:56:17 +00:00
Dave Airlie
8a18ed018b
lavapipe: fix missing protected memory properties
...
This is needed for vk 1.1
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9645 >
2021-04-07 19:56:17 +00:00
Dave Airlie
e47b742810
lavapipe: add vulkan 1.1 properties/features apis
...
Still have to add subgroups before advertising 1.1
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9645 >
2021-04-07 19:56:17 +00:00
Mike Blumenkrantz
35c02f79c9
lavapipe: add some asserts for blit region extents
...
this enforces spec for 3d vs array texture blits, more to come
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10005 >
2021-04-07 19:45:26 +00:00
Dave Airlie
be477f39aa
ci: update zink/virgl results for depth clamping fixes
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10068 >
2021-04-08 05:19:00 +10:00
Dave Airlie
60bdf61d68
llvmpipe: always take depth clamping from state tracker
...
Don't be smarter than state tracker here, of d3d10 wants to do
something the state tracker should hard code that. Since lavapipe
wants to use clip_halfz and depth clipping independently.
This fixes some issues blitting Z that zink was seeing
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10068 >
2021-04-08 05:18:16 +10:00
Dave Airlie
f96f016c22
llvmpipe: when depth clamp is disable clamp to 0.0/1.0
...
When depth clamp is disabled the viewport values aren't meaningful,
however the value is about to be converted to a unorm so needs
to still be clamped to 0/1.
This might not be the best place for this, maybe it should be in
the write swizzled code.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10068 >
2021-04-08 05:17:53 +10:00
Samuel Pitoiset
da166f648f
radv: enable DCC for concurrent images on GFX10
...
The driver now supports DCC stores on GFX10 that means that we can
keep DCC compressed on all layouts/queues.
This should help games which use aync compute or which declare
all images as concurrent like Youngblood.
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/9850 >
2021-04-07 18:33:34 +00:00
Samuel Pitoiset
37d48de83e
radv: simplify a check when enabling DCC for concurrent images
...
If the image is marked as concurrent, each element of
pQueueFamilyIndices must be unique, so queue_family_mask is
different than 1.
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/9850 >
2021-04-07 18:33:34 +00:00
Mike Blumenkrantz
05ecb6780c
zink: emit WorkgroupSize when not using ExecutionModeLocalSize
...
the system_values_read bit might not be set if the value isn't read or is
DCE, but it still needs to be emitted
probably.
fixes #4591
Reviewed-by: Witold Baryluk <witold.baryluk@gmail.com >
Tested-by: Witold Baryluk <witold.baryluk@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10079 >
2021-04-07 17:55:53 +00:00
Dylan Baker
636170c888
docs: update calendar and link releases notes for 21.0.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10078 >
2021-04-07 17:51:27 +00:00
Dylan Baker
6f4e17a4bb
relnotes: Add sha256sum for 21.0.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10078 >
2021-04-07 17:51:27 +00:00
Dylan Baker
8368598c44
docs: add release notes for 21.0.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10078 >
2021-04-07 17:51:27 +00:00
Corentin Noël
4e5ea37612
ci: Use lavacli from master
...
This allows to fix some credential leaks and provides compatibility with
the latest LAVA version.
Avoids failures when the LAVA instance returns Error 500
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9851 >
2021-04-07 17:26:29 +00:00
Samuel Pitoiset
d4db68b338
radv: enable DCC stores with MSAA 4x/8x on GFX10+
...
Should work now.
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/10052 >
2021-04-07 17:13:51 +00:00
Alyssa Rosenzweig
1286e73c2c
nir/lower_idiv: Add 8-bit and 16-bit lowering path
...
Roundtrip to a larger float and divide there. The extra details for
mod/rem are handled directly in integer space to simplify verification
of rounding details. The one issue is that the mantissa might be
rounded down which will cause issues; adding 1 unconditionally (proposed
by Jonathan Marek) fixes this. The lowerings here were tested
exhaustively on all pairs of 16-bit integers.
v2: Update idiv lowering per Rhys Perry's comment.
v3: Rewrite lowerings.
v4: Remove useless ftrunc, fix 8-bit issue, simplify code.
v5: Remove useless ffloor
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Tested-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Tested-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8339 >
2021-04-07 15:48:15 +00:00
Alyssa Rosenzweig
e91dec1327
nir/lower_idiv: Factor out numer/denom load
...
No need to duplicate across paths.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8339 >
2021-04-07 15:48:15 +00:00
Alyssa Rosenzweig
7b0eb4aa00
nir/lower_idiv: Convert to lower_instructions
...
Helps deduplicate some code between the two lowering paths. In
particular, it ports the missing 32-bit? check to the precise pass. This
does not change anything immediately: drivers depending on this to lower
16-bit did not work before due to type mismatches and will not work now
since it'll refuse to lower. But that means sub-32-bit idiv can be
lowered more efficiently in an algebraic pass.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8339 >
2021-04-07 15:48:15 +00:00
Alyssa Rosenzweig
e4da24bd24
nir: Add {i2f, u2f, f2i, f2u} helpers
...
Convenient for bitsize independent lowerings, will be used in the idiv
lowering.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8339 >
2021-04-07 15:48:15 +00:00
Alyssa Rosenzweig
6b19711645
nir: Add nir_type_convert
...
Generalizes nir_convert_to_bit_size, which we implement as a
special-case.
v2: Take a sized dest type but allow unsized or sized source to address
Jason's feedback. Shorten name.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8339 >
2021-04-07 15:48:15 +00:00
Samuel Pitoiset
f280367a27
radv: perform MSAA color decompression for storage images with DCC
...
For MSAA storage images with DCC, we also need to perform a MSAA
color decompression.
Fixes dEQP-VK.pipeline.multisample.storage_image.* if DCC stores
is enabled.
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/9854 >
2021-04-07 15:35:07 +00:00
Rhys Perry
835c5b7ebf
aco: fix integer tg4 workaround with unnormalized coordinates
...
Same as LLVM from 2abf62d348 .
fossil-db (GFX8):
Totals from 15 (0.01% of 147787) affected shaders:
VGPRs: 744 -> 748 (+0.54%)
CodeSize: 100472 -> 100732 (+0.26%)
Instrs: 19995 -> 20059 (+0.32%)
Latency: 1001530 -> 1001859 (+0.03%)
InvThroughput: 378508 -> 378747 (+0.06%)
SClause: 676 -> 675 (-0.15%)
Copies: 1655 -> 1654 (-0.06%)
PreSGPRs: 735 -> 742 (+0.95%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10053 >
2021-04-07 15:21:51 +00:00
Connor Abbott
5a70c4d4a0
ir3: Don't copy propagate arrays in ir3_cp
...
We don't check whether there's an intervening write in this pass, which
makes it incorrect. ir3_cp_postsched does check correctly, but we were
accidentally doing it here anyway for some sources.
While we're here, delete some code that was only used in the array case.
Fixes: f370e954 ("freedreno/ir3: handle const/immed/abs/neg in cp")
Reviewed-by: Rob Clark <robdclark@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10076 >
2021-04-07 14:35:13 +00:00
Connor Abbott
1ad5ee5a04
ir3/cp_postsched: Set address of uses for relative mov's
...
Fixes: 680ca5b ("freedreno/ir3: add post-scheduler cp pass")
Reviewed-by: Rob Clark <robdclark@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10076 >
2021-04-07 14:35:13 +00:00
Connor Abbott
dcc26a3945
ir3: Fix valid flags for STIB
...
Disallow immediates for the source. This was hidden by the fact that we
didn't copy-propagate trivial collect instructions.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Rob Clark <robdclark@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10076 >
2021-04-07 14:35:13 +00:00
Connor Abbott
94beaa1d92
ir3/legalize: Fix last input (ss) insertion
...
If there was a mix of ldlv and bary.f and we inserted an (ss) *after*
the last input which was a bary.f, then last_input_needs_ss would get
unset, even though it shouldn't. For figuring out whether we need the
(ss), we need to know whether there are any pending ldlv's when
last_input gets executed, not at the end of the block, which means that
the existing code's strategy of inserting it after the whole block has
been processed won't work. Rework it to do the last_input processing in
the main loop instead.
Reviewed-by: Rob Clark <robdclark@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10076 >
2021-04-07 14:35:13 +00:00
Connor Abbott
35ffe4fec1
freedreno/a3xx: Fix SP_FS_CTRL_REG1_INITIALOUTSTANDING
...
Unfortunately this didn't fix anything, but I thought I might as well
include it.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Rob Clark <robdclark@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10076 >
2021-04-07 14:35:13 +00:00
Connor Abbott
8cd7950014
util/bitset: Avoid out-of-bounds reads
...
I missed a corner case here: when the next range ends right at the end
of the bitset, we need to return immediately to avoid trying to search
after the bitset. And when finding the next end, we similarly need to
bail if the range is size 1 at the very end of the range. In practice
this probably would'nt have been noticed, because it would break out of
the loop anyway, but I happened to be running something using this under
Valgrind and it complained.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10076 >
2021-04-07 14:35:13 +00:00
Mike Blumenkrantz
387189a955
intel: avoid dumping null cs sampler/binding states
...
this crashes the driver
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10077 >
2021-04-07 14:24:08 +00:00
Rhys Perry
7ebb215495
nir_to_tgsi: run constant folding after nir_opt_algebraic
...
Otherwise, an infinite loop can occur.
The first nir_opt_algebraic in the loop can optimize:
op(bcsel(a, #b, c), #d) to bcsel(a, op(b, d), op(c, d))
which (because op(b, d) is not constant folded), will be reverted by the
second nir_opt_algebraic in the loop.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10071 >
2021-04-07 13:55:31 +00:00
Jason Ekstrand
26c3a509de
intel: Drop gen_device_info::has_resource_streamer
...
We've never done anything with that HW and it was removed in ICL.
There's no point in carrying around the useless field.
Acked-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10069 >
2021-04-07 13:33:18 +00:00
Michel Dänzer
8ec530d982
wsi/x11: Wait for fences with IMMEDIATE on Xwayland
...
The commit below was already meant to do this, but accidentally missed
this part.
Fixes stutter when the frame-rate drops below the refresh rate.
Fixes: e8f50bd600 "wsi/x11: Treat IMMEDIATE present mode the same as
MAILBOX for Xwayland"
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10026 >
2021-04-07 13:20:20 +00:00