Commit graph

193195 commits

Author SHA1 Message Date
Julia Zhang
44ee37864d amd/ds: implement command submittion functions
Implement command submittion functions which will be used to submit
command to query and sample amdgpu perfcounter value.

Signed-off-by: Julia Zhang <Julia.Zhang@amd.com>
2025-10-11 17:18:46 +08:00
Julia Zhang
3dd83225e4 amd/ds: add inline emit functions
Add inline helper functions to emit basic command.

Signed-off-by: Julia Zhang <Julia.Zhang@amd.com>
2025-10-11 17:18:46 +08:00
Julia Zhang
1b08eb2892 amd/common: let ac_perfcounter support extern "C"
Allow ac_perfcounter functions to be called from a cplusplus file so
that amdgpu pps driver can call amd common functions.

Signed-off-by: Julia Zhang <Julia.Zhang@amd.com>
2025-10-11 17:18:46 +08:00
Julia Zhang
8614409c9a amd/ds: implement amdgpu_cs_submit
Implement amdgpu_cs_submit function for amdgpu_pps_ctx class to submit
command of querying perfctr value.

Signed-off-by: Julia Zhang <Julia.Zhang@amd.com>
2025-10-11 17:18:46 +08:00
Julia Zhang
ef208460cc amd/ds: create cs and ib buffer
Create cs and ib buffer for amd_pps_ctx class, which will be used to
submit cs command to query amdgpu performance counter value.

Signed-off-by: Julia Zhang <Julia.Zhang@amd.com>
2025-10-11 17:18:46 +08:00
Julia Zhang
748654e02a amd/ds: implement bo_create function
Implement amdgpu_bo_create function for amdgpu_pps_ctx class, with which
amd pps driver can create buffer to query perfctr value.

Signed-off-by: Julia Zhang <Julia.Zhang@amd.com>
2025-10-11 17:18:46 +08:00
Julia Zhang
f0b5a43311 amd/ds: init device info
This initializes device info by calling amd common function
ac_query_gpu_info.

Signed-off-by: Julia Zhang <Julia.Zhang@amd.com>
2025-10-11 17:18:46 +08:00
Julia Zhang
ede29afcff amd/ds: implement amdgpu_ctx_create
Implement amdgpu_ctx_create to create a context to handle the
main process of querying performance counter.

Change-Id: Ic6f741436886bdc3ee3023b52d0f582ce7d2b6b6
2025-10-11 17:18:46 +08:00
Julia Zhang
557fab121e amd/ds: implement amdgpu_device_create
This initializes libdrm_amdgpu and creates amdgpu_device according
to the drm_fd passed from pps driver.

Signed-off-by: Julia Zhang <Julia.Zhang@amd.com>
2025-10-11 17:18:45 +08:00
Julia Zhang
a45b5c99cb pps: Implement amdgpu pps driver
Create derived pps driver for amdgpu and implement basic interfaces.
With this, perfetto can get default data from amdgpu pps driver as
perfcounter value and display it with UI web.

Signed-off-by: Julia Zhang <Julia.Zhang@amd.com>
2025-10-11 17:18:42 +08:00
Faith Ekstrand
99707271d5 nouveau: Import the Blackwell 3D class headers from NVIDIA
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36143>
2025-07-16 01:18:28 +00:00
Lionel Landwerlin
440e2e9200 genxml: fix 3DSTATE_TE definition on Gfx12.[05]
Since Gfx12+ the instruction is 5 dwords.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36146>
2025-07-16 01:01:11 +00:00
Lionel Landwerlin
ac78693b6a intel/genxml: rename body field
So that the body field has the same name in COMPUTE_WALKER &
EXECUTE_INDIRECT_DISPATCH.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36146>
2025-07-16 01:01:11 +00:00
Christian Gmeiner
ba0c1d6956 mesa: Include mask value in glStencilMask VERBOSE_API debug output
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36140>
2025-07-16 00:32:13 +00:00
Faith Ekstrand
cff5ee0cf3 nvk: Kepler is now Vulkan 1.2 conformant
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
https://www.khronos.org/conformance/adopters/conformant-products#submission_932
https://www.khronos.org/conformance/adopters/conformant-products#submission_934

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35846>
2025-07-16 00:17:33 +00:00
Lorenzo Rossi
f2e6bacafd nak/kepler: Add texdepbar insertion pass
This commit adds a forward data-flow pass to insert
texdepbar before using registers of texture fetch instructions.
The new algorithm started as a port of the old codegen pass, but finished
in a complete rewrite that is substantially simpler and should generate
less conservative code in some edge cases.

Signed-off-by: Lorenzo Rossi <snowycoder@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35403>
2025-07-16 00:02:47 +00:00
Faith Ekstrand
fbeb70cbbc nak/sm20: TexDepBar::textures_left is 6 bits
Fixes: 309c48cbb7 ("nak/sm20: Add texture ops")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35403>
2025-07-16 00:02:47 +00:00
Lorenzo Rossi
b932ae00e5 nak: Add forward dataflow algorithm
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35403>
2025-07-16 00:02:47 +00:00
Karol Herbst
0d8b165f11 nvk: add support for 16x8x16 IMMA on Ampere+
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32777>
2025-07-15 23:34:33 +00:00
Karol Herbst
070ac68619 nak: support faster back to back latencies for MMA
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32777>
2025-07-15 23:34:33 +00:00
Mary Guillemard
669c8a5145 nvk: Advertise VK_KHR_cooperative_matrix
v2: advertize more int combinations (Karol)
    enable saturatingAccumulation for integer matrices (Karol)

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32777>
2025-07-15 23:34:33 +00:00
Karol Herbst
9c511f7301 nak: Add cooperative matrix lowering pass
Mary has written the initial code, I've documented my changes below.

v2: support cmat_convert (Karol)
    fix cross matmul (Karol)
    rework matrix layout clasasification (Karol)
    add support for saturated cmat_muladd (Karol)

Co-authored-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32777>
2025-07-15 23:34:33 +00:00
Mary Guillemard
f99db217a7 nak: Wire up coop matrix opcodes
v2: rebase and scheduling (Karol)
    remove Ldsm and Movm (Karol)
    add support for saturated cmat_muladd

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32777>
2025-07-15 23:34:32 +00:00
Mary Guillemard
90438bae51 nir: Add NVIDIA-specific muladd intrinsics
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32777>
2025-07-15 23:34:31 +00:00
Karol Herbst
053b975ca1 nak: fix MMA latencies for Ampere
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32777>
2025-07-15 23:34:30 +00:00
Aleksi Sapon
e54fc3a23c draw: remove unused prim_flags from run_linear_elts
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35096>
2025-07-15 23:12:50 +00:00
Aleksi Sapon
c20bb020a6 draw: fix prim_info.start for linear_run_elts
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35096>
2025-07-15 23:12:49 +00:00
Eric Engestrom
d4a9d62920 turnip+zink/ci: add piglit to the a750 job
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36125>
2025-07-15 22:52:40 +00:00
Eric Engestrom
855c51fbe7 lavapipe/ci: document recent flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36137>
2025-07-15 22:27:40 +00:00
Eric Engestrom
b9d1db2092 llvmpipe/ci: document recent flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36137>
2025-07-15 22:27:40 +00:00
Eric Engestrom
2e13239278 zink+radv/ci: document recent flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36137>
2025-07-15 22:27:40 +00:00
Eric Engestrom
52f473ae11 broadcom/ci: document recent flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36137>
2025-07-15 22:27:40 +00:00
Eric Engestrom
1b8a073e4c radv/ci: document recent flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36137>
2025-07-15 22:27:40 +00:00
Eric Engestrom
3fc6d51a03 radeonsi/ci: document recent flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36137>
2025-07-15 22:27:40 +00:00
Eric Engestrom
1840543c6e lavapipe/ci: document one fixed and two new failures
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36137>
2025-07-15 22:27:40 +00:00
Eric Engestrom
decbb17324 zink+radv/ci: document new failures
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36137>
2025-07-15 22:27:40 +00:00
Eric Engestrom
e703847410 zink+nvk/ci: document crash->fail change from !36031
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36137>
2025-07-15 22:27:40 +00:00
Eric Engestrom
561d73bf20 etnaviv/ci: document fixed tests
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36137>
2025-07-15 22:27:40 +00:00
Natalie Vock
ac96594b86 aco/isel: Use vector-aligned operands for ds_stack_push8_pop1_rtn_b32
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35269>
2025-07-15 21:34:40 +00:00
Natalie Vock
b2a95d2133 aco/ra: Add affinities for DS vector-aligned operands
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35269>
2025-07-15 21:34:40 +00:00
Natalie Vock
df5495b934 aco/assembler: Support vector-aligned operands on DS instructions
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35269>
2025-07-15 21:34:40 +00:00
Natalie Vock
e978f6e247 radv/rt: Use ds_bvh_stack_push8_pop1_rtn_b32
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35269>
2025-07-15 21:34:40 +00:00
Natalie Vock
ea66a8d1c5 aco,nir: Add support for GFX12 ds_bvh_stack_push8_pop1_rtn_b32 instruction
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35269>
2025-07-15 21:34:40 +00:00
Natalie Vock
f0aa383e09 radv/rt: Use ds_bvh_stack_rtn
Improves Quake 2 RTX performance by 5% on RDNA3.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35269>
2025-07-15 21:34:40 +00:00
Natalie Vock
9707b30965 nir,aco: Add ds_bvh_stack_rtn
This is a ds instruction that also overwrites its first input, so
introduce a new ds format with two outputs.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35269>
2025-07-15 21:34:39 +00:00
Natalie Vock
8815845271 radv/rt/gfx12: Always overwrite origin/dir
They're unchanged if we don't test against instance nodes. This makes
image_bvh8_intersect_ray kill its direction/origin operands, improving
RA.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35269>
2025-07-15 21:34:38 +00:00
Natalie Vock
c515f1fd58 aco: Use vector-aligned operands for image_bvh8_intersect_ray
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35269>
2025-07-15 21:34:38 +00:00
Natalie Vock
c279dd6e61 aco: Support vector-aligned ops fixed to defs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35269>
2025-07-15 21:34:38 +00:00
Natalie Vock
f17fe05e32 aco/isel: Improve vector splits for image_bvh8_intersect_ray
Using split_vector to split everything into scalars allows copy-prop to
eliminate the final p_create_vector. Considerably reduces copies and
register thrashing.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35269>
2025-07-15 21:34:38 +00:00
Renato Pereyra
b74e641c04 pps: Generate libgpudataprofiling.so from pps-producer sources for Android CTS
Android CTS expects GPU counters to be provided by a DSO named
libgpudataprofiling.so. This change leaves pps-producer unchanged and builds
this DSO from the same sources.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36052>
2025-07-15 20:29:57 +00:00