Christian Gmeiner
7c40e9a322
ttn: lower rectangle textures if not supported
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898 >
2021-02-23 14:04:30 +00:00
Christian Gmeiner
08e072015a
gallium/st: lower rectangle textures if not supported
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898 >
2021-02-23 14:04:30 +00:00
Christian Gmeiner
758a2d5343
gallium: add PIPE_CAP_TEXRECT
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898 >
2021-02-23 14:04:30 +00:00
Christian Gmeiner
8cb52f6735
nir/lower_tex: wider usage of nir_tex_instr_src_index(..)
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Suggested-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898 >
2021-02-23 14:04:30 +00:00
Christian Gmeiner
a403ff4d70
nir/lower_tex: 'txs free' tex_rect lowering
...
GPUs without native txs support (and without an emulation in sw)
can use this new lowering. Also it saves us from doing int/float
conversions.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898 >
2021-02-23 14:04:30 +00:00
Christian Gmeiner
3fbde2fd93
nir: add has_txs flag
...
Some nir lowerings might need to know if txs is supported by
the backend.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898 >
2021-02-23 14:04:30 +00:00
Christian Gmeiner
b0e23c92b3
nir: add load_texture_rect_scaling
...
Will be used in a different form of lower_rect tex lowering.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898 >
2021-02-23 14:04:30 +00:00
Samuel Pitoiset
765097eac4
radv: add support for instruction timing with RGP
...
This is probably the most useful feature with SQTT/RGP.
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/9130 >
2021-02-23 13:03:39 +00:00
Samuel Pitoiset
a72b7a9b6c
radv: add support for exporting pipelines with RGP
...
This is still experimental and only enabled with
RADV_THREAD_TRACE_PIPELINE to avoid breaking existing support.
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/9130 >
2021-02-23 13:03:39 +00:00
Samuel Pitoiset
884e14d784
radv: store a pointer to the code in radv_shader_variant
...
This will be used by SQTT to dump the disassembly.
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/9130 >
2021-02-23 13:03:39 +00:00
Bas Nieuwenhuizen
7acb30de8a
radv: Enable 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:42 +01:00
Bas Nieuwenhuizen
f848f2adfa
radv: Use ac_surface DCC settings for shareable images.
...
On GFX10 the settings for displayable DCC are different than those
for normal texturing.
This is technically a slight pessimization as ac_surface does not
know about textures that don't have to be sampled. However, for color
surfaces this is a very unlikely situation as presumably even MSAA
images have to be resolved (potentially using texture HW).
So in practice this should be equal for everything except 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:36 +01:00
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