Rob Clark
3bb393e7b9
freedreno/a6xx: Tweak blitter traces
...
Make things easier to read when there are a lot of blits.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30064 >
2024-07-16 17:03:15 +00:00
Rob Clark
7e250033ee
freedreno/bc: Rework flush order
...
A sequence like:
1) set_framebuffer_state(A)
2) clears and/or draws
3) set_framebuffer_state(B)
4) context_flush(ASYNC)
would result in the fence for batch B being returned, instead of batch A.
Resulting in a fence that signals too early.
Instead, in context_flush() find the most recently modified batch, so
that in the example above batch A would be flushed.
There is one wrinkle, that we want to avoid a dependency loop. So the
'last_batch' can actually be a batch that depends on the most recently
modified batch. But in either case, the batch that is used for the
returned fence is one that directly or indirectly depends on all other
batches associated with the context.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30064 >
2024-07-16 17:03:15 +00:00
Rob Clark
57694b8944
freedreno/a6xx: Drop 16b packed image formats
...
See also commit f1c1b9687e ("tu: Do not expose storage image/buffer
features for PACK16 formats")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30064 >
2024-07-16 17:03:15 +00:00
Rob Clark
fb9d86299b
freedreno: Use LINEAR for staging resources
...
These are for CPU access, so no point in having additional staging blit
to convert from/to linear. Depth formats are an exception, as normally
they cannot be linear.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30064 >
2024-07-16 17:03:15 +00:00
Rob Clark
5de33f3d3e
freedreno: Implement stencil blit fallback
...
Now that there is a util_blitter_clear_depth_stencil() helper, we can
use that to implement stencil blits in the fallback path.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30064 >
2024-07-16 17:03:15 +00:00
Rob Clark
8bc0cb8040
freedreno/a6xx: Implement S8 support
...
Basically z32+s8 mode but without the z32.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30064 >
2024-07-16 17:03:15 +00:00
Rob Clark
5056f5b69c
u_blitter+d3d12: Move stencil fallback clear to caller
...
The other callers were already doing the prepatory stencil clear before
calling util_blitter_stencil_fallback(). Doing the clear in the driver
avoids recursively entering u_blitter if the driver uses
util_blitter_clear_depth_stencil() to implement ->clear_depth_stencil().
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30064 >
2024-07-16 17:03:15 +00:00
Rob Clark
9372875222
freedreno: Handle non-null cb with null buffer
...
u_blitter does this to restore constant state, so we need to handle both
cases.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30064 >
2024-07-16 17:03:15 +00:00
Rob Clark
9123ee0f18
st/mesa/pbo: Set src type on image_store
...
Adreno/ir3 actually needs this information.
Pixes PBO brokenness with freedreno.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30064 >
2024-07-16 17:03:15 +00:00
Alex Deucher
dec4603a21
ac/surface: fix version check for gfx12 DCC
...
It's 58, not 59. The original 58 feature was not
ready so it was dropped.
Fixes: 0bb83a4060 ("ac/surface: finish display DCC for gfx12")
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30212 >
2024-07-16 16:33:32 +00:00
Josh Simmons
2b99906e5b
radv: Fix shader mask for SQ_WGP SPM counters
...
Signed-off-by: Josh Simmons <josh@nega.tv >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30200 >
2024-07-16 16:10:11 +00:00
Alyssa Rosenzweig
acb10043cb
nvk: add instruction count exec property
...
useful for shader-db, this isn't as simple as dividing the code size so it's
worth reporting.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30136 >
2024-07-16 15:13:40 +00:00
Faith Ekstrand
4030447dab
nak: gather instr count explicitly
...
This isn't as simple as dividing so we want a real shader info property for nvk
to consume. Plumb one through.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30136 >
2024-07-16 15:13:40 +00:00
Alyssa Rosenzweig
67e3b3fbfd
nouveau/drm-shim: set ram_user
...
this is required for nvk to create a heap. fixes zink+nvk+drm-shim:
run: ../src/gallium/drivers/zink/zink_screen.c:3371: zink_internal_create_screen: Assertion `i == ZINK_HEAP_HOST_VISIBLE_COHERENT_CACHED || i == ZINK_HEAP_DEVICE_LOCAL_LAZY || i == ZINK_HEAP_DEVICE_LOCAL_VISIBLE' failed.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30136 >
2024-07-16 15:13:40 +00:00
Daniel Schürmann
6723128e94
aco/spill: Don't add phi definitions to live-in variables
...
Changes are because we don't add artificial uses to the phi definitions anymore.
Totals from 13 (0.02% of 79395) affected shaders: (GFX10.3)
Instrs: 230510 -> 230285 (-0.10%); split: -0.10%, +0.00%
CodeSize: 1269916 -> 1268760 (-0.09%); split: -0.10%, +0.01%
SpillSGPRs: 2057 -> 2058 (+0.05%)
Latency: 2729731 -> 2723103 (-0.24%)
InvThroughput: 696888 -> 695286 (-0.23%)
VClause: 5795 -> 5768 (-0.47%)
SClause: 6855 -> 6858 (+0.04%)
Copies: 32336 -> 32275 (-0.19%); split: -0.22%, +0.03%
VALU: 151782 -> 151731 (-0.03%); split: -0.04%, +0.01%
SALU: 30766 -> 30758 (-0.03%); split: -0.03%, +0.01%
VMEM: 12157 -> 12078 (-0.65%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30120 >
2024-07-16 14:00:49 +00:00
Daniel Schürmann
bb5af6bede
aco: remove live-out variables from IR
...
Since we changed all passes to use the live-in variables,
these are not needed anymore.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30120 >
2024-07-16 14:00:49 +00:00
Daniel Schürmann
f86816ca85
aco/print_ir: print live-in instead of live-out variables
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30120 >
2024-07-16 14:00:49 +00:00
Daniel Schürmann
043ec096c1
aco/validate: use live-in variables for RA validation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30120 >
2024-07-16 14:00:49 +00:00
Daniel Schürmann
976dd71942
aco/cssa: use live-in variables instead of live-out variables
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30120 >
2024-07-16 14:00:49 +00:00
Daniel Schürmann
c146d4b6b6
aco/spill: use live-in variables directly rather than computing them
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30120 >
2024-07-16 14:00:49 +00:00
Daniel Schürmann
162876c875
aco/ra: use live-in variables directly rather than computing them
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30120 >
2024-07-16 14:00:49 +00:00
Daniel Schürmann
29262f8cf3
aco: compute live-in variables in addition to live-out variables
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30120 >
2024-07-16 14:00:49 +00:00
Mary Guillemard
9a4a03ec1f
ci/panfrost: Update t760 fails
...
Add a new failure found while running gles job manually
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30150 >
2024-07-16 13:10:56 +00:00
Mary Guillemard
32a4596d17
panfrost: Handle gracefully resource BO alloc failures
...
This makes panfrost_bo_alloc not assert anymore and propagate the
failure again.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30150 >
2024-07-16 13:10:56 +00:00
Mary Guillemard
71a24a0c5e
panfrost: Handle context_init errors correctly
...
This fix OpenCL CTS "multiple_device_context/test_multiples" failures.
Also improve create_context/destroy error management a bit.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30150 >
2024-07-16 13:10:56 +00:00
Mary Guillemard
668bde4421
pan/kmod: Avoid deadlock on VA allocation failure on panthor
...
Fixes: 97f6a62f7e ("pan/kmod: Add a backend for panthor")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30150 >
2024-07-16 13:10:55 +00:00
Daniel Schürmann
ffef3d1709
nir/opt_sink: ignore loops without backedge
...
Loops without backedge should not be considered loops.
For RADV, 2069 (2.61% of 79395) affected shaders.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28783 >
2024-07-16 12:29:08 +00:00
Daniel Schürmann
79875737cc
radv: use NIR loop invariant code motion pass
...
Totals from 3469 (4.37% of 79395) affected shaders: (GFX11)
MaxWaves: 78690 -> 78622 (-0.09%); split: +0.03%, -0.11%
Instrs: 11093592 -> 11092346 (-0.01%); split: -0.09%, +0.07%
CodeSize: 57979444 -> 58077232 (+0.17%); split: -0.12%, +0.29%
VGPRs: 257892 -> 258336 (+0.17%); split: -0.08%, +0.25%
SpillSGPRs: 2958 -> 2521 (-14.77%); split: -32.83%, +18.05%
Latency: 135247583 -> 134446992 (-0.59%); split: -0.61%, +0.02%
InvThroughput: 25654328 -> 25478620 (-0.68%); split: -0.73%, +0.05%
VClause: 244799 -> 244499 (-0.12%); split: -0.17%, +0.05%
SClause: 313323 -> 315081 (+0.56%); split: -0.40%, +0.96%
Copies: 835953 -> 842457 (+0.78%); split: -0.38%, +1.15%
Branches: 330136 -> 330210 (+0.02%); split: -0.03%, +0.05%
PreSGPRs: 193374 -> 200277 (+3.57%); split: -0.38%, +3.95%
PreVGPRs: 223947 -> 224227 (+0.13%); split: -0.02%, +0.15%
VALU: 6312413 -> 6314841 (+0.04%); split: -0.02%, +0.06%
SALU: 1222275 -> 1227329 (+0.41%); split: -0.26%, +0.67%
VMEM: 408421 -> 408412 (-0.00%)
SMEM: 430966 -> 430399 (-0.13%)
VOPD: 2482 -> 2440 (-1.69%); split: +0.44%, -2.14%
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28783 >
2024-07-16 12:29:08 +00:00
Daniel Schürmann
540ee1c81a
nir: implement loop invariant code motion (LICM) pass
...
This simple LICM pass hoists all loop-invariant instructions
from the loops' top-level control flow, skipping any nested CF.
The hoisted instructions are placed right before the loop.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28783 >
2024-07-16 12:29:08 +00:00
Alejandro Piñeiro
e18b54fa5d
drm-shim: stub synobj_timeline_wait and query ioctl
...
Needed to avoid unhandled code DRM ioctl errors on some platforms when
using shader-db.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30184 >
2024-07-16 11:17:59 +02:00
Dave Airlie
814a2da2f4
radv/video: advertise mutable/extended for dst video images.
...
This allows zink video to create planar image views if needed.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30203 >
2024-07-16 07:04:15 +00:00
Samuel Pitoiset
8863704c6b
radv/meta: add a helper to create descriptor set layout
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30187 >
2024-07-16 06:17:07 +00:00
Samuel Pitoiset
3d322b787e
radv/meta: add a helper to create pipeline layout
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30187 >
2024-07-16 06:17:07 +00:00
Samuel Pitoiset
c6a626e000
radv/meta: add a helper to create compute pipeline
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30187 >
2024-07-16 06:17:07 +00:00
Samuel Pitoiset
bf3b2d2912
radv/meta: remove useless checks for NULL handles before destroying
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30187 >
2024-07-16 06:17:07 +00:00
Samuel Pitoiset
4deb138e7d
radv/meta: remove unused number of rectangles for internal operations
...
It was always 1.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30187 >
2024-07-16 06:17:07 +00:00
Samuel Pitoiset
ecd3bbf826
radv/meta: remove redundant check for hw resolve pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30187 >
2024-07-16 06:17:07 +00:00
Samuel Pitoiset
76e4edefbf
radv/meta: remove unnecessary blit2d_dst_temps struct
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30187 >
2024-07-16 06:17:07 +00:00
Samuel Pitoiset
e739d0e5bb
radv/meta: remove non-valuable comments
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30187 >
2024-07-16 06:17:07 +00:00
Yukari Chiba
6f02ec5ed1
llvmpipe: add an implementation with llvm orcjit
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26018 >
2024-07-16 12:22:29 +10:00
Yukari Chiba
0b69b8d0db
llvmpipe/tests: add a new test for multiple symbols for orc jit testing
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26018 >
2024-07-16 11:31:24 +10:00
Yukari Chiba
ba283c0d84
llvmpipe: add function name to gallivm_jit_function
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26018 >
2024-07-16 11:31:24 +10:00
Yukari Chiba
28530c3eaa
gallivm: add riscv support to the mattrs setting code
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26018 >
2024-07-16 09:41:41 +10:00
Yukari Chiba
465510a211
util: detect RISC-V architecture
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26018 >
2024-07-16 09:41:28 +10:00
Doug Brown
60488d6213
xa: add missing stride setup in renderer_draw_yuv
...
This fixes a problem observed in VMware VMs where Xv playback results in
a black screen instead of the actual video.
Signed-off-by: Doug Brown <doug@schmorgal.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11490
Fixes: 7672545223 ("gallium: move vertex stride to CSO")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30116 >
2024-07-15 20:54:43 +00:00
Josh Simmons
1ced840632
radv: Add RADV_PROFILE_PSTATE envvar
...
Enable selecting the specific pstate to enter when using thread tracing
and when acquiring the profiling lock for performance queries.
Signed-off-by: Josh Simmons <josh@nega.tv >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30139 >
2024-07-15 20:32:01 +00:00
Alyssa Rosenzweig
bda1de89db
asahi: eliminate load_num_workgroups from TCS unrolled ID
...
honeykrisp doesn't want to implement this sysval, we don't need it here.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30051 >
2024-07-15 20:09:00 +00:00
Alyssa Rosenzweig
ae769727d8
libagx: handle VS/IA pipeline stats on GPU
...
This was an obnoxious bit of cheating we had in the gl4.6 driver that I added
literally the morning I passed gl4.6 cts, just to fix my last gl4.6 cts test.
It had an expiration date.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30051 >
2024-07-15 20:09:00 +00:00
Alyssa Rosenzweig
1fbf2002e3
asahi: handle CS pipeline stat with indirect dispatch
...
no more stall here.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30051 >
2024-07-15 20:09:00 +00:00
Alyssa Rosenzweig
bc4d38d4ed
libagx: add kernel for incrementing CS counter
...
for indirect dispatch
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30051 >
2024-07-15 20:09:00 +00:00