Daniel Schürmann
7fc259e4e7
radv: add padding to radv_shader_binary_legacy
...
This fixes an alignment mismatch in radv_shader_serialize()
Fixes: 577d76f60f ('radv: add radv_shader_serialize() and radv_shader_deserialize() functions')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22735 >
2023-05-02 14:33:56 +00:00
Rhys Perry
7cda715ad6
radv: fix bc optimization with POS_W_FLOAT_ENA(1)
...
0286CC_PERSP_CENTER_ENA is also set if:
- No barycentrics are used
- POS_W_FLOAT is enabled
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Fixes: a4b60295a7 ("aco,ac/llvm,radv,radeonsi: handle ps bc optimization in nir for radv")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8928
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22782 >
2023-05-02 12:18:50 +00:00
Samuel Pitoiset
e25e4c81de
radv: fix dynamic depth clamp enable support
...
The Vulkan spec says:
"If the depth clamping state is changed dynamically, and the pipeline
was not created with VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT enabled,
then depth clipping is enabled when depth clamping is disabled and
vice versa"
Fixes: e48c0fbd8f ("radv: add support for dynamic depth clamp enable")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22777 >
2023-05-02 07:00:59 +00:00
Yiwei Zhang
34cc37910f
radv: respect VK_QUERY_RESULT_WAIT_BIT in GetQueryPoolResults
...
The flag was ignored for VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT and
VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT.
Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22781 >
2023-05-01 18:07:24 +00:00
Samuel Pitoiset
dbab98d9d6
radv: enable RADV_THREAD_TRACE_CACHE_COUNTERS by default
...
It should work but if not enabled by default, I think most people
forget about it.
If you have any issues with it, you can disable by using
RADV_THREAD_TRACE_CACHE_COUNTERS=false and please report!
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22763 >
2023-05-01 13:38:53 +00:00
Bas Nieuwenhuizen
040aeb5a23
radv: Add asserts in radeon_emit{,_array}.
...
Also add an unsafe helper for some winsys stuff that can't really
use the reservation mechanism (e.g. chaining between cmdbuffers).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20152 >
2023-04-30 22:33:52 +02:00
Bas Nieuwenhuizen
7893040f80
radv: Add stricter space checks.
...
The check for max_dw means that none of checks triggered reliably
when we had an issue. Use a stricter reserved dw measure to increase
the probability of catching issues.
Adds a radeon_check_space to some places after cs_create as they
previously relied on the min. cs size, but that would still trigger
the checks.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20152 >
2023-04-30 22:33:52 +02:00
Bas Nieuwenhuizen
4c204db0a7
radv: Reserve space in the ACE pre/postambles.
...
Since we check reservations now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20152 >
2023-04-30 22:33:52 +02:00
Bas Nieuwenhuizen
17a7c55ea7
radv: Reserve space for indirect descriptor set address writes.
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20152 >
2023-04-30 22:33:52 +02:00
Samuel Pitoiset
faf27fa0a2
ac/nir: fix 8-bit/10-bit PS exports clamping
...
This broke many tests on GFX6 (Pitcairn).
Fixes: c182154456 ("ac/nir: add ac_nir_lower_ps")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22756 >
2023-04-28 17:38:06 +00:00
Samuel Pitoiset
559d3b0f9a
ac,radv,radeonsi: rename thread_trace to sqtt everywhere
...
SQTT stands for SQ Thread Trace but it's shorter.
Note that environment variables aren't renamed because this might
break external applications.
This renames:
- ac_thread_trace_data to ac_sqtt (this is the main struct)
- ac_thread_trace_info to ac_sqtt_data_info
- ac_thread_trace_se to ac_sqtt_data_se
- ac_thread_trace to ac_sqtt_trace (this contains trace only)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22732 >
2023-04-28 16:55:13 +00:00
Samuel Pitoiset
c2d312c401
ac/rgp: remove ac_thread_trace_data from ac_thread_trace
...
We only need the RGP objects.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22732 >
2023-04-28 16:55:13 +00:00
Samuel Pitoiset
3a19c36618
radv: do not abort when the SQTT buffer resize failed
...
This seems to much. While we are at it, update the error msg.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22732 >
2023-04-28 16:55:12 +00:00
Samuel Pitoiset
1202d8b0f9
ac/sqtt: add ac_sqtt_get_trace() helper
...
It can be shared between RADV and RadeonSI. The only difference is
that RadeonSI can't auto-resize the SQTT BO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22732 >
2023-04-28 16:55:12 +00:00
Samuel Pitoiset
d0a11c5b9e
ac/sqtt: add ac_sqtt_se_is_disabled() helper
...
It can be shared between RADV and RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22732 >
2023-04-28 16:55:12 +00:00
Qiang Yu
65c3d1869d
aco: allow no export instruction for gfx10+ fs
...
radeonsi will generate no export instruction when no
discard and no output.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22727 >
2023-04-28 11:33:28 +08:00
Qiang Yu
3c59df7318
aco: get scratch addr from symbol for radeonsi
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22727 >
2023-04-28 11:33:28 +08:00
Qiang Yu
360176b671
aco,radv: support symbol relocation in aco
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22727 >
2023-04-28 11:33:28 +08:00
Rhys Perry
d0caa50dcd
aco: don't move exec writes around exec writes
...
Not sure if this is possible, but we should avoid it anyway.
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22714 >
2023-04-27 14:33:53 +00:00
Samuel Pitoiset
e996599ed0
ac/rgp: update SQTT_FILE_CHUNK_TYPE_ASIC_INFO to minor version 5
...
To match PAL. I don't know what the active_pixel_packer_mask field
is used for.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22677 >
2023-04-27 11:31:49 +00:00
Samuel Pitoiset
dd91faaddc
ac/rgp: update SQTT_FILE_CHUNK_TYPE_API_INFO to minor version 2
...
To match PAL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22677 >
2023-04-27 11:31:49 +00:00
Samuel Pitoiset
4cbb0f7ec3
ac/sqtt: add missing EventUnknown to rgp_sqtt_marker_event_type
...
To match XGL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22677 >
2023-04-27 11:31:49 +00:00
Samuel Pitoiset
637a6813db
ac/sqtt: add new bits to rgp_sqtt_marker_barrier_end
...
To match XGL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22677 >
2023-04-27 11:31:49 +00:00
Samuel Pitoiset
930e77e903
radv/sqtt: add support for queue info
...
RGP uses that to report the various queue timings info.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22594 >
2023-04-27 10:55:55 +00:00
Samuel Pitoiset
84a0ef7a33
radv/sqtt: sample CPU/GPU clocks before starting the trace
...
RGP seems to use that to calibrate timestamps. This also introduces
a new helper to reset thread data between captures.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22594 >
2023-04-27 10:55:55 +00:00
Samuel Pitoiset
ee93864117
ac/sqtt: initialize clock calibration/queue info/queue event records
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22594 >
2023-04-27 10:55:55 +00:00
Samuel Pitoiset
94ce6540d8
ac/sqtt: add helpers for initializing ac_thread_trace_data
...
This is common between RADV and RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22594 >
2023-04-27 10:55:55 +00:00
Samuel Pitoiset
23f3aa3491
ac/sqtt: add a helper for adding clock calibration records
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22594 >
2023-04-27 10:55:55 +00:00
Gregory Mitrano
13f258fae3
radv/sqtt: Add RGP Markers for Mesh Shaders
...
This change updates the sqtt layer to add mesh shader specific RGP
instrumentation logic. This should allow RGP to correctly identify GPU
work derived from vkCmdDrawMeshTasksEXT, vkCmdDrawMeshTasksIndirectEXT,
and vkCmdDrawMeshTasksIndirectCountEXT API calls.
This change also updates the mesa-to-RGP shader stage translation logic
to handle the mesh & task stages.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21917 >
2023-04-27 07:58:58 +00:00
Gregory Mitrano
01b7371bb4
ac/sqtt: Add RGP Definitions for Mesh Shaders
...
This commit adds RGP marker definitions for the following mesh shader
functions:
- vkCmdDrawMeshTasksEXT
- vkCmdDrawMeshTasksIndirectCountEXT
- vkCmdDrawMeshTasksIndirectEXT
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21917 >
2023-04-27 07:58:58 +00:00
Samuel Pitoiset
f2d5b7cd1c
ac/spm: rename ac_spm_trace_data to ac_spm
...
This is shorter and it's the main struct that controls SPM, while
ac_spm_trace contains the generated data only.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22707 >
2023-04-27 07:24:54 +00:00
Samuel Pitoiset
0d4fa8e5c6
ac/spm: introduce ac_spm_trace and ac_spm_get_trace()
...
For more code isolation.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22707 >
2023-04-27 07:24:54 +00:00
Samuel Pitoiset
44a2e5ba38
radv: only enable extendedDynamicState3ConservativeRasterizationMode on GFX9+
...
If extendedDynamicState3ConservativeRasterizationMode is enabled,
VK_EXT_conservative_rasterization is mandatory.
Fixes recent updates in dEQP-VK.info.device_mandatory_features.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22681 >
2023-04-27 06:15:16 +00:00
Dave Airlie
d8f3060bd9
radv/video: start adding gfx11 vcn decoder
...
On gfx11 the vcn decoder moved into the vcn encoder ring,
now known as the unified vcn ring.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21980 >
2023-04-27 02:00:03 +00:00
Dave Airlie
89df5976f8
radv/video: fix dpb surface programming
...
This just programs the dpb fields directly from the image surface.
Makes things happier on navi33
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21980 >
2023-04-27 02:00:03 +00:00
Dave Airlie
6b75c365a8
radv/video: add a video addr gfx mode
...
This will be different on gfx11+ so add a settable field for it
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21980 >
2023-04-27 02:00:03 +00:00
Dave Airlie
ca7a2e508d
radv/winsys: handle encoder queue padding/submits.
...
The encoder queue doesn't like padding at all, don't pad in the sysmem
paths for encoder queue.
The encoder queue will be using on gfx11 for decoding.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21980 >
2023-04-27 02:00:03 +00:00
Dave Airlie
2fdf75dadf
radv: set a video decode ip block in physical device.
...
This makes it easier to add navi 3x
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21980 >
2023-04-27 02:00:03 +00:00
Dave Airlie
d8262e26a2
radv/video: add missing gfx family
...
This is compatible with rdna2 but was just missing.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21980 >
2023-04-27 02:00:03 +00:00
Dave Airlie
e895c7ba56
radeonsi/ac: move some vcn defines to common
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21980 >
2023-04-27 02:00:03 +00:00
Samuel Pitoiset
3f14fd8578
radv: reserve command buffer index for SQTT
...
These indexes are used to match command buffers with queue events.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22670 >
2023-04-26 13:57:39 +00:00
Samuel Pitoiset
9c33c4dcbe
ac/sqtt: add a helper to get cmdbuf IDs per queue
...
These will be used by RADV to implement queue event timings.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22670 >
2023-04-26 13:57:39 +00:00
Samuel Pitoiset
a7b4573c11
ac/sqtt: add rgp_sqtt_marker_cb_id definition
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22670 >
2023-04-26 13:57:39 +00:00
Rhys Perry
5e20fbd424
aco: don't move exec reads around exec writes
...
Fixes flickering and blocky plants in Jedi: Fallen Order.
Also fixes flickering squares in The Last of Us Part 1.
fossil-db (navi21):
Totals from 92 (0.07% of 135636) affected shaders:
Instrs: 35324 -> 35354 (+0.08%); split: -0.03%, +0.11%
CodeSize: 189568 -> 189668 (+0.05%); split: -0.03%, +0.08%
Latency: 345305 -> 346529 (+0.35%); split: -0.02%, +0.37%
InvThroughput: 78632 -> 78625 (-0.01%)
SClause: 1955 -> 1972 (+0.87%); split: -0.61%, +1.48%
Copies: 1311 -> 1304 (-0.53%); split: -0.69%, +0.15%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8883
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8878
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22696 >
2023-04-26 13:16:00 +00:00
Martin Roukala (né Peres)
7d4eb78e1b
radv/ci: document another vkcts flake on vega10
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22702 >
2023-04-26 08:32:56 +00:00
Qiang Yu
5c287290d8
aco,radv: remove unused aco compile options
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199 >
2023-04-26 03:27:26 +00:00
Qiang Yu
a4b60295a7
aco,ac/llvm,radv,radeonsi: handle ps bc optimization in nir for radv
...
The side effect is removing the aco/llvm backend bc optimization code
and linear/persp_centroid variable.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199 >
2023-04-26 03:27:26 +00:00
Qiang Yu
df74919bc2
ac/nir/ps: remove used nir_variable if created
...
RADV won't do this, so remove them at last.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199 >
2023-04-26 03:27:26 +00:00
Qiang Yu
bfcf03872e
radv: implement nir_load_barycentric_optimize_amd
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199 >
2023-04-26 03:27:26 +00:00
Qiang Yu
33d683bf09
ac/llvm: remove output variable declaration for radv ps
...
radv ps does not support epilog when llvm, so outputs will always
be lowered to exports in nir.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199 >
2023-04-26 03:27:26 +00:00