Bas Nieuwenhuizen
0e189dd3fd
radv: Add DCC info to the metadata.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9042 >
2021-02-23 13:32:33 +01:00
Bas Nieuwenhuizen
54f3ed224d
radv: Implement displayable DCC retiling.
...
Straightforward implementation using the retile map from radeonsi.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9042 >
2021-02-23 13:32:29 +01:00
Bas Nieuwenhuizen
e34542bdf1
radv: Implement initialization of displayable DCC.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9042 >
2021-02-23 13:32:26 +01:00
Bas Nieuwenhuizen
d78389ea5f
amd/common: Add retile map size helper.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9042 >
2021-02-23 13:32:23 +01:00
Bas Nieuwenhuizen
e59847f67f
radv: Use shared code for setting opaque metadata.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9042 >
2021-02-23 13:32:20 +01:00
Bas Nieuwenhuizen
9c5c995cbe
radv: Handle UMD metadata on import.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9042 >
2021-02-23 13:32:16 +01:00
Bas Nieuwenhuizen
1a88805ded
amd/common: constify ac_surface_set_umd_metata.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9042 >
2021-02-23 13:31:55 +01:00
Rhys Perry
75c9adf039
aco/lower_phis: fix all_preds_uniform with continue_or_break
...
Found in a Death Stranding shader with loop unrolling disabled.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: 9a089baff1 ("aco: optimize boolean phis with uniform selections")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9193 >
2021-02-23 10:46:56 +00:00
Iago Toral Quiroga
54c17e45ae
broadcom/compiler: skip unnecessary unifa writes
...
If a new UBO load happens to read exactly at the offset right after the
previous UBO load (something that is fairly common, for example when
reading a matrix), we can skip the unifa write (with its 3 delay slots)
and just continue to call ldunifa to continue reading consecutive addresses.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9128 >
2021-02-23 08:08:01 +00:00
Iago Toral Quiroga
e1cf2406da
broadcom/compiler: add a constant alu optimization pass
...
Currently this is useful to clean up after DCEing leading ldunifa
instructions, but it can be expanded to handle more cases which
may allow to simplify the compiler code in places where we have
been trying to optimize manually for similar cases.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9128 >
2021-02-23 08:08:01 +00:00
Iago Toral Quiroga
89de085055
broadcom/compiler: remove unused leading ldunifa
...
This requires that we go back to the unifa write and update the address
to jump over the unused leading component.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9128 >
2021-02-23 08:08:01 +00:00
Iago Toral Quiroga
9d16d2d0be
broadcom/compiler: allow dead code elimination of unused trailing ldunifa
...
If a ldunifa is the last in a sequence and is not used, we can safely
eliminate it.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9128 >
2021-02-23 08:08:01 +00:00
Iago Toral Quiroga
e20ae14978
broadcom/compiler: fix ldunif optimization
...
When we look back for a previous uniform definition we want to
start looking from the current position of the cursor, not the
end of the current block. The latter only works when translating
from NIR, since in that case both always match, but any optimization
pass may rewrite code and emit uniforms at any place in the middle of
the program.
Also, ntq_store_dest expects result to be written by the last instruction
to handle the case where it is stored to a NIR register. That won't be
the case if the result comes from an optimized uniform, so in that case
we need to insert a MOV, like we do in non-uniform control flow.
v2: fix ntq_store_dest for optimized uniforms.
Fixes: 14af7b3085 ('broadcom/compiler: don't emit redundant ldunif')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Acked-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9128 >
2021-02-23 08:08:01 +00:00
James Park
9f30370654
vulkan: Use typed outarray API
...
MSVC cannot perform GCC __typeof__ for C code. (C++ has decltype.)
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9208 >
2021-02-23 17:18:11 +10:00
Dave Airlie
054dd668a6
meson/llvm: add native for gallium swrast
...
If we are building llvmpipe and lavapipe we want native in this
list.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9208 >
2021-02-23 17:17:28 +10:00
Dave Airlie
611e9f29e2
lavapipe: fix icd generation for windows
...
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9208 >
2021-02-23 17:17:12 +10:00
Dave Airlie
34ed5e4e60
lavapipe: add dll definition file instead of using PUBLIC
...
This avoids conflicts with the definitions in vk_icd.h
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9208 >
2021-02-23 17:17:06 +10:00
Dave Airlie
deb44bc317
lavapipe: fix msvc initialiser
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9208 >
2021-02-23 17:16:55 +10:00
Dave Airlie
4eada33223
lavapipe: use the common icd generator
...
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9208 >
2021-02-23 17:16:40 +10:00
Mike Blumenkrantz
806577cbcc
zink: update ci results
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9146 >
2021-02-22 22:50:52 -05:00
Mike Blumenkrantz
445dd1906f
zink: handle PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE in transfer_map for buffers
...
when discarding the whole resource on an unused resource, we can deinit the buffer
range here
in the future, ideally we should be doing something like creating a new vk buffer/image
entirely here and demoting the existing one to a queue that destroys/caches it when
the batch finishes in order to avoid fencing
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9146 >
2021-02-22 21:20:33 -05:00
Mike Blumenkrantz
4d5f7b3a6d
zink: change some transfer_map cases of waiting on cs batch to flushing cs
...
we don't actually have to stall here, we just have to make sure the cs batch
is submitted before the subsequent buffer copy command goes into a gfx
batch in order to preserve the ordering
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9146 >
2021-02-22 21:20:32 -05:00
Mike Blumenkrantz
07df65d45f
zink: only wait on last write-batch for resources during transfer_map
...
if we need to sync a resource for read-only mapping, we only need to wait on
the fence that was last flagged as having writes to the resource, not batches
that may have reads, as reads don't affect memory coherency
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9146 >
2021-02-22 21:20:32 -05:00
Mike Blumenkrantz
16792ccaa1
zink: beef up zink_transfer_flush_region
...
this now takes over from previous call sites in zink_transfer_unmap
we add a flush here if we had pending usage to ensure that the resource
gets properly synced
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9146 >
2021-02-22 21:20:29 -05:00
Mike Blumenkrantz
211437c938
zink: simplify barrier usage
...
this simplifies the barrier helper callsites as we no longer need
to check whether a barrier is needed beforehand in order to avoid potentially
ending a renderpass too early
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9205 >
2021-02-23 01:44:34 +00:00
Mike Blumenkrantz
98250d42b7
zink: only reset pipeline hash conditionally when updating fb state
...
if we aren't changing anything here then we don't need to update the pipeline
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9189 >
2021-02-23 01:17:38 +00:00
Mike Blumenkrantz
b1843879c1
zink: move gfx pipeline creation closer to the bind point
...
ensure that the renderpass has already been started by this point so
we have a valid object
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9189 >
2021-02-23 01:17:38 +00:00
Dave Airlie
1f5cd19ac9
zink/ci: disable arb_timer_query tests
...
These are going to be flaky in CI so don't bother
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9204 >
2021-02-23 10:48:29 +10:00
Mike Blumenkrantz
60726ed0d3
zink: rename 'has_draw' flag on batches and set it when the batch is used
...
this lets us add some tracking later for handling no-op fencing
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9190 >
2021-02-23 00:20:34 +00:00
Mike Blumenkrantz
90bcb91cd5
zink: destroy renderpass objects on context destroy
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9192 >
2021-02-23 00:13:23 +00:00
Dave Airlie
3b9357727b
zink/ci: update results for GL 3.3 testing enables
...
There are some new crashes/fails but I don't think the lavapipe
change is at fault for those.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8909 >
2021-02-23 09:49:00 +10:00
Dave Airlie
fd55eea2ba
lavapipe: add calibrated timestamp support
...
This is a bit of a lie, but it's enough to get zink support
for timer queries to work.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8909 >
2021-02-23 09:42:06 +10:00
Eric Anholt
60d413b894
ci: Move the piglit expectations lists to the per-driver CI dirs.
...
Now changing piglit expectations won't retest everyone else's drivers.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9161 >
2021-02-22 23:02:43 +00:00
Eric Anholt
ad77170b85
ci: Move the dEQP and traces expectations to the per-driver CI dirs.
...
This means less custom test-source-dep stuff for these drivers, though it
means that touching the CI expects files will cause a bit more retesting:
- broadcom drivers retest as a group (but Igalia requested that
organization of CI files)
- radv+radeonsi retest as a group
- lvp+llvmpipe retest as a group
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9161 >
2021-02-22 23:02:42 +00:00
Ian Romanick
f2656569c6
nir/range_analysis: Handle vectors better in ssa_def_bits_used
...
If a query is made of a vector ssa_def (possibly from an intermediate
result), return all_bits. If a constant source is a vector, swizzle
the correct component.
Unit tests were added for the constant vector cases. I don't see a
great way to make unit tests for the other cases.
v2: Add a FINIHSME comment about u16vec2 hardware.
Fixes: 96303a59ea ("nir: Add some range analysis for used bits")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9123 >
2021-02-22 22:37:17 +00:00
Ian Romanick
ce649e54f1
nir/range-analysis: C++ linkage
...
Fixes: 96303a59ea ("nir: Add some range analysis for used bits")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9123 >
2021-02-22 22:37:17 +00:00
Dave Airlie
cccac5e14f
zink/ci: update results now that we are testing zink/lavapipe
...
Once the extension fix is merged the CI results change appreciably.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9185 >
2021-02-22 21:48:42 +00:00
Dave Airlie
40ea20c5f7
zink: use extensioned draw indirect functions.
...
The code was using the core versions, but for vulkan 1.0 at
least the extension versions are what is required to be asked for.
This fixes zink loading on lavapipe, and blows up the CI.
v2: Use LOCAL device extension variant (zmike)
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9185 >
2021-02-22 21:48:42 +00:00
Lionel Landwerlin
02f94c3306
anv: don't wait for completion of work on vkQueuePresent()
...
Another mistake which is that we don't use the right wait API.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 829699ba63 ("anv: implement shareable timeline semaphores")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4276
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9188 >
2021-02-22 21:43:05 +00:00
Lionel Landwerlin
cb74cd816c
anv: reset binary syncobj to be signaled before submission
...
Before we introduced the submission thread in 829699ba63 , once we
returned from vkQueueSubmit, all signaled syncobj would have a
i915_request/dma-fence waiting to be signaled by some work that would
submitted to HW by i915.
After this submission thread that is no longer the case. We added a
few checks in places like vkQueuePresentKHR() to wait for the binary
semaphores to materialize before we would hand things over to the WSI
code.
Unfortunately 829699ba63 forgot to reset the signaled binary
semaphore.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 829699ba63 ("anv: implement shareable timeline semaphores")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4276
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9188 >
2021-02-22 21:43:05 +00:00
Jeremy Huddleston Sequoia
38ae84b8da
Adjust dylib compatibility versions to match what was set by mesa-18.3's autotools-based builds
...
Cc: 20.3 21.0 <mesa-stable@lists.freedesktop.org >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4113
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com >
Reviewed-by: Dylan Baker <dylan.c.baker@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8796 >
2021-02-22 21:27:19 +00:00
Dave Airlie
279d170552
glx: proposed fix for setSwapInterval
...
When mesa gets a DRI2 1.1 connection (as experienced with
vmwware DDX) we don't get a pointer for this.
Don't explode just keep going.
Fixes: 60ebeb4608 ("glx: Implement GLX_EXT_swap_control for DRI2 and DRI3")
Reviewed-by: Adam Jackson <ajaX@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9184 >
2021-02-22 20:48:42 +00:00
Gert Wollny
ee27ca68f8
r600/sfn: Base instr lowering class on nir_lower_instruction code
...
Now that the lowering pass has been update there is no need to
duplicate the code to scan the shader.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9167 >
2021-02-22 20:43:02 +00:00
Gert Wollny
a877ce1aba
r600/sfn: remove duplicate barriers
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9167 >
2021-02-22 20:43:02 +00:00
Gert Wollny
fa588edf15
r600/sfn: Fix indirect_file flag for IMAGES
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9167 >
2021-02-22 20:43:02 +00:00
Gert Wollny
66f4cac69e
r600/sfn: Handle memory_barrier_atomic_counters
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9167 >
2021-02-22 20:43:02 +00:00
Mauro Rossi
099938d0f8
android: util/fossilize_db: add missing sources to Makefile.sources
...
Fixes the following building errors:
FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/i915_dri_intermediates/LINKED/i915_dri.so
ld.lld: error: undefined symbol: foz_read_entry
>>> referenced by disk_cache_os.c:945 (external/mesa/src/util/disk_cache_os.c:945)
ld.lld: error: undefined symbol: foz_write_entry
>>> referenced by disk_cache_os.c:951 (external/mesa/src/util/disk_cache_os.c:951)
FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/vulkan.anv_intermediates/LINKED/vulkan.anv.so
FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/vulkan.radv_intermediates/LINKED/vulkan.radv.so
ld.lld: error: undefined symbol: foz_destroy
>>> referenced by disk_cache.c:237 (external/mesa/src/util/disk_cache.c:237)
ld.lld: error: undefined symbol: foz_read_entry
>>> referenced by disk_cache_os.c:945 (external/mesa/src/util/disk_cache_os.c:945)
ld.lld: error: undefined symbol: foz_write_entry
>>> referenced by disk_cache_os.c:951 (external/mesa/src/util/disk_cache_os.c:951)
Fixes: eca6bb9540 ("util/fossilize_db: add basic fossilize db util to read/write shader caches")
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Tested-by: Marijn Suijten <marijns95@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9178 >
2021-02-22 19:49:05 +00:00
Eric Anholt
419758abc8
ci/a5xx: Increase our dEQP GLES3 fraction by 4x.
...
Now that we've got SMP, we can get a lot more of this test suite covered
in our 10-minute job window.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9144 >
2021-02-22 19:31:46 +00:00
Eric Anholt
6e89593752
ci/a5xx: Update the piglit expectations.
...
Now with -j4 in place, we can actually complete a manual piglit job in
less than an hour! (barely)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9144 >
2021-02-22 19:31:46 +00:00
Eric Anholt
fcc2ed6299
ci/bare-metal: Use an upstream kernel for db820c.
...
On top of the last kernel tree I added a couple of DT changes for db820c
from the qcom landing tree necessary for bringing up the GPU, and a fix to
my OOB cleanups fro cheza. I also enabled the CPU clock driver for db820c
so we can turn on SMP and not leave jobs stranded on a 19Mhz CPU or whatever.
This causes us to need a bit of updating of our TF expectations since the
order of jobs changes a bit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9144 >
2021-02-22 19:31:46 +00:00