Timur Kristóf
c918f0934e
nir, ac, aco: Add ACCESS intrinsic index to load/store_buffer_amd.
...
Previously, we always treated these as coherent, but now let's make
this configurable. Also set all current users to ACCESS_COHERENT.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com> (nir)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17551 >
2022-10-20 20:00:49 +00:00
Samuel Pitoiset
8bf1aa1b76
radv: add lowering for nir_intrinsic_load_ring_attr_{offset}_amd
...
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/19173 >
2022-10-20 15:59:44 +00:00
Samuel Pitoiset
46777e5544
radv: declare shader arguments for attributes via memory
...
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/19173 >
2022-10-20 15:59:44 +00:00
Samuel Pitoiset
bcf642c23e
radv: create and configure the ring BO for attributes
...
It currently uses a pretty large size but it will be tweaked later.
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/19173 >
2022-10-20 15:59:44 +00:00
Samuel Pitoiset
f239d745d6
radv: add RADEON_FLAG_DISCARDABLE
...
For big pages.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19173 >
2022-10-20 15:59:44 +00:00
Samuel Pitoiset
f8bf2a9a15
radv: drop the ES vertex count requirement on GFX11
...
Ported from RadeonSI.
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/19155 >
2022-10-20 08:55:04 +00:00
Samuel Pitoiset
bc19ffef27
radv: do not use memory for waiting for cache flushes on GFX11
...
There is a different mechanism with an internal counter.
Ported from RadeonSI.
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/19155 >
2022-10-20 08:55:04 +00:00
Samuel Pitoiset
39bdf17d19
radv: use correct VGT_TESS_DISTRIBUTION settings on GFX11
...
Ported from RadeonSI.
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/19155 >
2022-10-20 08:55:04 +00:00
Samuel Pitoiset
2a7e4dc8cb
radv: set SAMPLE_MASK_TRACKER_WATERMARK to 15 on GFX11
...
Ported from RadeonSI.
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/19155 >
2022-10-20 08:55:04 +00:00
Tomeu Vizoso
c23727d554
radeonsi,radv/ci: Increase coverage
...
12 more machines with Stoney Ridge have been added to Collabora's lab.
Use the new ones for testing more of RadeonSI, and repurpose the freed
ones for more RADV coverage.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19161 >
2022-10-20 08:03:05 +00:00
Qiang Yu
97e1613b0e
ac/nir/ngg: use nir_load_provoking_vtx_in_prim_amd in ngg lower
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19166 >
2022-10-20 06:53:56 +00:00
Qiang Yu
58e006b174
nir,ac/llvm,radv: add nir_intrinsic_load_provoking_vtx_in_prim_amd
...
For radeonsi which load this from arg.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19166 >
2022-10-20 06:53:56 +00:00
Martin Roukala (né Peres)
c38111f6b4
radv/ci: run two jobs in parallel to reduce the execution time
...
This should bring the overall execution time at around 15 minutes \o/,
but it exposes more issues in the driver:
- [...].linear_interpolation.no_offset_8_samples (#7220 )
- Timeouts on some dedicated_alloc.image.full.1048577.* tests
- Timeout on memory.pipeline_barrier.host_read_host_write
More performance improvements should come later, as the load average
remains in the [12, 16] range when running on my machine on a navi22
gets me a 31 load average and a lower execution time by a couple of
minutes.
References: #7220
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19111 >
2022-10-20 09:33:53 +03:00
Martin Roukala (né Peres)
2459fcd9ff
radv/ci: bump the job count on navi21
...
We got shiny new hosts for our navi21 which sport twice as many cores
as the previous hosts. Let's try to keep them fed!
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19111 >
2022-10-20 09:33:53 +03:00
Samuel Pitoiset
3aa41349a7
ac/llvm: add missing nir_intrinsic_bindless_image_atomic_{fmin,fmax}
...
Fix various atomic operations.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19134 >
2022-10-19 23:42:26 +00:00
Bas Nieuwenhuizen
1252d63cc2
aco: Pre-split result of bvh64_intersect_ray_amd.
...
Avoids later moves with extractions from the vector.
Reduces VALU operation in the raytrace loop by ~6%, increasing
the RT performance in Q2RTX on a 6800 XT by about ~1.3%.
Suggested by Georg.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19148 >
2022-10-19 21:44:48 +00:00
Rhys Perry
36703a60bf
aco: add ACO_DEBUG=force-waitdeps
...
GFX11 has a lot of complicated data dependency hazards.
For debugging GFX10+ data dependency hazards. This creates an excessive
amount of s_waitcnt_depctr.
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/18273 >
2022-10-19 02:46:03 +00:00
Rhys Perry
6f368431fd
aco/gfx11: workaround VALUMaskWriteHazard
...
fossil-db (gfx1100):
Totals from 62812 (46.52% of 135032) affected shaders:
Instrs: 43971580 -> 44069887 (+0.22%)
CodeSize: 233473420 -> 233866648 (+0.17%)
Latency: 463487489 -> 463520688 (+0.01%); split: -0.00%, +0.01%
InvThroughput: 86505748 -> 86509679 (+0.00%); split: -0.00%, +0.00%
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/18273 >
2022-10-19 02:46:03 +00:00
Rhys Perry
5806f0246f
aco/gfx11: workaround VALUPartialForwardingHazard
...
fossil-db (gfx1100):
Totals from 18121 (13.42% of 135032) affected shaders:
Instrs: 28272367 -> 28323468 (+0.18%)
CodeSize: 152581916 -> 152786320 (+0.13%)
Latency: 366477785 -> 366482318 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 74475188 -> 74475758 (+0.00%); split: -0.00%, +0.00%
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/18273 >
2022-10-19 02:46:03 +00:00
Rhys Perry
b0b48b7687
aco/gfx11: workaround VALUTransUseHazard
...
fossil-db (gfx1100):
Totals from 116990 (86.64% of 135032) affected shaders:
Instrs: 67942325 -> 69493991 (+2.28%)
CodeSize: 366448984 -> 372655648 (+1.69%)
Latency: 673236871 -> 673269808 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 128266905 -> 128270175 (+0.00%); split: -0.00%, +0.00%
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/18273 >
2022-10-19 02:46:03 +00:00
Rhys Perry
98ee3e1468
aco/gfx11: workaround LdsDirectVMEMHazard
...
fossil-db (gfx1100):
Totals from 27217 (20.16% of 135032) affected shaders:
Instrs: 18010853 -> 18047277 (+0.20%)
CodeSize: 99369568 -> 99515264 (+0.15%)
Latency: 207454040 -> 207464932 (+0.01%); split: -0.00%, +0.01%
InvThroughput: 39810158 -> 39810628 (+0.00%); split: -0.00%, +0.00%
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/18273 >
2022-10-19 02:46:03 +00:00
Rhys Perry
296b4d95a3
aco/gfx11: workaround LdsDirectVALUHazard
...
fossil-db (gfx1100):
Totals from 57858 (42.85% of 135032) affected shaders:
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/18273 >
2022-10-19 02:46:03 +00:00
Rhys Perry
1a9840b341
aco/gfx11: workaround VcmpxPermlaneHazard
...
Same as GFX10, but in a separate pass because it's the only hazard that's
shared.
No fossil-db changes.
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/18273 >
2022-10-19 02:46:03 +00:00
Rhys Perry
484df5b30e
aco: add search_backwards helper
...
This will be useful for VALUPartialForwardingHazard.
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/18273 >
2022-10-19 02:46:03 +00:00
Marek Olšák
c62170fe57
winsys/amdgpu: fix (enable) preemption for chained IBs
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19131 >
2022-10-18 22:42:28 +00:00
Sergei Chernyadyev
c7e9268658
radv: fix setting results for initialization failures in thread trace and trap handler
...
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19083 >
2022-10-17 22:59:15 +00:00
Daniel Schürmann
ebf7f7a182
aco/spill: Fix spilling of Phi operands
...
By adding the renamed variable, phi operands got spilled twice at the precessors.
Fixes: dEQP-VK.ray_query.misc.dynamic_indexing
Closes : #7493
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19109 >
2022-10-17 19:50:32 +00:00
Samuel Pitoiset
ca02da294a
radv: discard the PS epilog when the pipeline doesn't use a fragment shader
...
This makes no sense and this was broken.
Fixes dEQP-VK.mesh_shader.ext.smoke.*_lib.mesh_shader_triangle_rasterization_disabled.
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/19019 >
2022-10-17 08:13:26 +02:00
Samuel Pitoiset
7b3aae8912
radv: do not create a noop FS when the FS is imported from a library
...
The entrypoint can be NULL even if the FS is imported from a library,
but we shouldn't overwrite the pre-compiled FS by a noop.
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/19019 >
2022-10-17 08:13:24 +02:00
Konstantin Seurer
6905c25829
radv/rra: Use the accel struct type for header validation
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19089 >
2022-10-16 14:37:02 +00:00
Konstantin Seurer
43756a9f76
radv/rra: Continue dumping accel structs if validation fails
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19089 >
2022-10-16 14:37:02 +00:00
Konstantin Seurer
e8547392b0
radv/rra: Add basic header validation
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19089 >
2022-10-16 14:37:02 +00:00
Konstantin Seurer
2ccd039174
radv/rra: Validate before gathering bvh info
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19089 >
2022-10-16 14:37:02 +00:00
Konstantin Seurer
d83176d1c0
radv/rra: Fix dumps in the case of aliasing
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19089 >
2022-10-16 14:37:02 +00:00
Bas Nieuwenhuizen
6558ecf3eb
radv: Mark dEQP-VK.ray_query.misc.dynamic_indexing as crashing in CI.
...
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7493
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19073 >
2022-10-14 21:34:54 +00:00
Yonggang Luo
44ccaca41d
util/mesa/wide: Rename _SIMPLE_MTX_INITIALIZER_NP to SIMPLE_MTX_INITIALIZER
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18393 >
2022-10-14 03:27:41 +00:00
Bas Nieuwenhuizen
f00b54bc9e
radv: Rework modification detection of the meta cache.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19047 >
2022-10-12 12:09:48 +02:00
Bas Nieuwenhuizen
8231f7eaa1
radv: Use a VkPipelineCache handle for meta shaders.
...
Prep work for using the common vk caches.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19047 >
2022-10-12 12:09:48 +02:00
Bas Nieuwenhuizen
911455a0d6
radv: Constify entry_size.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19047 >
2022-10-12 12:09:47 +02:00
Samuel Pitoiset
e00ce79003
radv: use SHA1_DIGEST_LENGTH in the pipeline cache
...
Instead of a magic value.
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/19047 >
2022-10-12 12:09:46 +02:00
Samuel Pitoiset
db62b13ddd
radv: move the disk cache to the vk_physical_device struct
...
To be able to use it from the common pipeline cache implementation.
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/19047 >
2022-10-12 12:09:44 +02:00
Konstantin Seurer
3e22f957d5
radv: Remove create_accel_build_shader
...
Unused since every kernel is written in GLSL now.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19006 >
2022-10-12 08:56:05 +02:00
Konstantin Seurer
6eadd6d169
radv/rra: Calculate bvh size requirements recursively
...
Gets rid of the assumption, that every internal node has the same size.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19017 >
2022-10-11 20:27:24 +00:00
Konstantin Seurer
e4283d857b
radv/rra: Handle box16 nodes
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19017 >
2022-10-11 20:27:24 +00:00
Konstantin Seurer
7754f208ce
radv: Use half floats for box16 coords
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19017 >
2022-10-11 20:27:24 +00:00
Konstantin Seurer
266f0ae948
radv: Add radv_bvh_node_box16
...
Adds the last useful node type. The different triangle types can be
derived by addition.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19017 >
2022-10-11 20:27:24 +00:00
Konstantin Seurer
5f859f805b
radv: Rename node_internal to node_box32
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19017 >
2022-10-11 20:27:24 +00:00
Bas Nieuwenhuizen
243aa6b2ec
radv: Consider inactive internal nodes never in the tree.
...
Since the parent doesn't know to signal it.
Fixes: e83e4fafc8 ("radv: Only emit parents from parents that actually end up in the tree.")
Reviewed-By: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19033 >
2022-10-11 19:33:46 +00:00
Bas Nieuwenhuizen
66664b8d7c
radv: Implement pipeline-wide skiptriangles/skipaabbs.
...
Reviewed-By: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19030 >
2022-10-11 18:03:23 +00:00
Samuel Pitoiset
65dd53ca97
radv: always re-emit patch control points when a pipeline with tess is bound
...
We already re-emit this state when it's static. It could be dirtied
conditionally but the number of parameters to check is not worth it.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7457
Fixes: eef1511437 ("radv: implement dynamic patch control points")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19021 >
2022-10-11 17:21:56 +00:00