Yonggang Luo
86bcc90c0e
intel/compiler,intel/blorp,intel/vulkan: decouple vulkan driver and compiler from gallium
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24438 >
2023-08-03 22:00:15 +00:00
Sagar Ghuge
957d7644aa
intel/ds: Track CCS cache flush bit
...
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23786 >
2023-06-26 16:08:20 -07:00
Lionel Landwerlin
b3b12c2c27
anv: enable CmdCopyQueryPoolResults to use shader for copies
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23074 >
2023-06-14 09:43:57 +03:00
Lionel Landwerlin
e86f3c7abb
intel/ds: add query count in query tracepoints
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23074 >
2023-06-14 09:43:57 +03:00
Lionel Landwerlin
06b436e51e
anv: add query tracepoints
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23500 >
2023-06-12 14:46:44 +00:00
Erik Faye-Lund
185001a86f
meson: remove needless c++17-overrides
...
C++17 is the project-wide default since f9057cea51
("fix(FTBFS):
meson: raise C++ standard to C++17"), so let's drop these local
overrides.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23048 >
2023-05-19 12:45:31 +00:00
Lionel Landwerlin
66edd030ab
anv: add utrace tracking of frame boundaries
...
Based on vkQueuePresentKHR calls. It just helps spotting the beginning
end of a frame in perfetto when apps are using 3/4 command buffers per
frame.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22276 >
2023-04-13 01:14:38 +00:00
Lionel Landwerlin
da6842007f
intel/ds: add a new timeline row for frames
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22276 >
2023-04-13 01:14:38 +00:00
Emma Anholt
c443503e07
perfetto: Move intel's cmdbuf/queue annotation code to the shared util.
...
This will let other drivers use the same way of presenting annotations
without duplicating the whole hash table thing.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22157 >
2023-03-30 02:19:35 +00:00
Emma Anholt
9c364a346f
perfetto: Deduplicate clock sync packet emit from renderstage sources.
...
This is way more horrifying than I hoped -- I can't figure out a way to
have the method be on TraceContext, so it's a static method of the
datasource, but then you have to name the templated types over and over.
You have to pass in a TraceContext because intel emits the clock sync
packet within a Trace(), and perfetto just silently corrupts the trace if
you Trace() in a Trace().
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22157 >
2023-03-30 02:19:35 +00:00
Emma Anholt
3fd825d3e2
perfetto: Make a MesaRenderpassDataSource with common setup/start/stop.
...
Deduplicates some code from intel/tu/freedreno, and will be a common place
to put other shared code.
The downside I can see is this logging:
[013.129] tu_perfetto.cc:122 Tracing started
[013.129] intel_driver_ds.cc:133 Tracing started
("oh, huh, apparently data sources for both drivers are registered? wild")
becomes:
[142.906] erfetto_renderpass.h:50 Tracing started
[142.907] erfetto_renderpass.h:50 Tracing started
("huh, why is my driver's data source being started twice?").
Unfortunately we can't easily get a string for the data source type due to
not having rtti.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22157 >
2023-03-30 02:19:34 +00:00
Emma Anholt
42f1df1ec5
intel/perfetto: Drop unused "pipelined" field.
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22157 >
2023-03-30 02:19:34 +00:00
Lionel Landwerlin
9448c2628e
anv: add utrace support for queue debug utils
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22006 >
2023-03-24 09:38:20 +02:00
Lionel Landwerlin
68bc4c56ff
intel/ds: rename frame timeline row to queue
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22006 >
2023-03-24 09:38:08 +02:00
Lionel Landwerlin
d55d74bb72
util/u_trace: move needs_cs_param option to tracepoints
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22006 >
2023-03-24 09:37:57 +02:00
Lionel Landwerlin
5aec829f97
iris: trace frames with u_trace
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21648 >
2023-03-10 00:36:41 +00:00
Dylan Baker
a0fa31bcdd
intel/dev: create a helper dependency for libintel_dev
...
This ensures that users of libintel_dev.a won't be compiled until
include files are generated, and that they are recompiled when the
header changes.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Mark Janes <markjanes@swizzler.org >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20825 >
2023-03-02 00:01:27 +00:00
Lionel Landwerlin
e37f458207
intel/ds: track end of pipe bits
...
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/21094 >
2023-02-06 09:12:18 +00:00
José Roberto de Souza
8092bc2158
intel/ds: Fix crash when allocating more intel_ds_queues than u_vector was initialized
...
u_vector_add() don't keep the returned pointers valid.
After the initial size allocated in u_vector_init() is reached it will
allocate a bigger buffer and copy data from older buffer to the new
one and free the old buffer, making all the previous pointers returned
by u_vector_add() invalid and crashing the application when trying to
access it.
This is reproduced when running
dEQP-VK.synchronization.signal_order.timeline_semaphore.* in DG2 SKUs
that has 4 CCS engines, INTEL_COMPUTE_CLASS=1 is set and of course
perfetto build is enabled.
To fix this issue here I'm moving the storage/allocation of
struct intel_ds_queue to struct anv_queue/iris_batch and using
struct list_head to maintain a chain of intel_ds_queue of the
intel_ds_device.
This allows us to append or remove queues dynamically in future if
necessary.
Fixes: e760c5b37b
("anv: add perfetto source")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20977 >
2023-02-01 18:31:29 +00:00
José Roberto de Souza
5ccc2049fa
intel/ds: Nuke intel_ds_queue::queue_id
...
queue_id is not used anywhere.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20888 >
2023-01-25 17:43:57 +00:00
José Roberto de Souza
80dd6ed074
intel: Add kmd_type parameter to necessary intel_gem.h functions
...
Here adding kmd_type parameter to
intel_gem_read_render_timestamp(), intel_gem_can_render_on_fd() and
intel_gem_supports_protected_context().
Those 3 functions will have Xe implementations, the other functions
in intel_gem.h will not be called by Xe code paths so not adding
kernel_driver_type to it.
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20773 >
2023-01-25 09:17:15 -08:00
Lionel Landwerlin
2969850d88
intel/utrace: document tracepoints
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655 >
2023-01-13 01:22:15 +00:00
Lionel Landwerlin
2702159268
intel/ds: remove unused trace point
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655 >
2023-01-13 01:22:15 +00:00
Lionel Landwerlin
4dd3e755ea
intel/ds: add INTEL_GPU_TRACEPOINT envvar to toggle tracepoints
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655 >
2023-01-13 01:22:15 +00:00
Lionel Landwerlin
28b15fa9e7
anv: add support for command buffer tagging in traces
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655 >
2023-01-13 01:22:15 +00:00
Lionel Landwerlin
f1ab070d7f
intel/ds: move event_id access to perfetto lambda
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655 >
2023-01-13 01:22:15 +00:00
Lionel Landwerlin
f0160ee2ab
intel/ds: track secondary cmdbuffers in perfetto
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655 >
2023-01-13 01:22:15 +00:00
Lionel Landwerlin
9a16effeac
anv: record secondaries' traces into primaries
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655 >
2023-01-13 01:22:15 +00:00
Lionel Landwerlin
2024115b79
intel/ds: add missing generate draws perfetto glue
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: c950fe97a0
("anv: implement generated (indexed) indirect draws")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7956
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Tested-by: Vinson Lee <vlee@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20433 >
2022-12-26 14:11:44 +02:00
Lionel Landwerlin
c950fe97a0
anv: implement generated (indexed) indirect draws
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15642 >
2022-12-23 22:52:50 +00:00
Lionel Landwerlin
5fd0d27280
intel/ds: trace a couple of more pipe control flags
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20295 >
2022-12-13 19:22:02 +00:00
Danylo Piliaiev
703d85485f
meson: do not use source_root() when possible
...
source_root() function is deprecated in Meson version 0.56.0 because
it returns the source root of the parent project if called from a
subproject.
Why would anyone need Mesa as a meson subproject?
It would be used as subproject in a project generated by command buffer
"decompiler" for Freedreno.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19901 >
2022-11-22 06:11:07 +00:00
Mark Collins
086b50078d
common/utrace: Rename u_trace_context_actively_tracing
to u_trace_should_process
...
Signed-off-by: Mark Collins <mark@igalia.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Ack-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18271 >
2022-11-11 13:50:56 +00:00
Marcin Ślusarz
ea7e331fb8
anv: add mesh shading tracepoints
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19344 >
2022-10-27 15:03:28 +00:00
Marcin Ślusarz
63ad8aed41
intel/ds: add new category/stage for draw mesh events
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19344 >
2022-10-27 15:03:28 +00:00
José Roberto de Souza
772dfd60ad
intel: Convert i915 engine type to intel in tools/ common/ and ds/
...
This ones were left to be done after initial conversion.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18975 >
2022-10-15 20:04:51 +00:00
José Roberto de Souza
1e87834980
intel: Share code to read render timestamp
...
Timestamp read is not in any hot path so there is no down-sides in
share the same function between iris, crocus, anv and hasvk.
Also while at it also dropping the functions to read MMIO from kernel,
the only use is read render timestamp so we don't need it.
v2:
- fix compilaton of ds
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18920 >
2022-10-03 06:26:50 -07:00
Iván Briano
14810f3498
intel/utrace: create the callback events for xfb trace points
...
Fixes: 79c2f9e7cb
("anv: trace xfb queries")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7322
Tested-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18738 >
2022-09-22 06:59:06 +00:00
Lionel Landwerlin
79c2f9e7cb
anv: trace xfb queries
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17467 >
2022-09-21 12:38:34 +00:00
Lionel Landwerlin
d53682e1a9
intel/utrace: make blorp tracepoints more readable
...
With the operation name and some formats.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17467 >
2022-09-21 12:38:34 +00:00
Lionel Landwerlin
b12d95f513
anv: add missing tracepoint
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 3501a3f9ed
("anv: Convert to 100% dynamic rendering")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17467 >
2022-09-21 12:38:34 +00:00
Chia-I Wu
19b7d5284b
util/perf: move u_perfetto to here
...
Acked-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18260 >
2022-08-26 21:47:44 +00:00
Eric Engestrom
c66622de3a
meson: replace manual compiler flags with meson arguments
...
These would only have worked in GCC and Clang, which so far wasn't an
issue, but let's clean it up anyway.
Cc: mesa-stable
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18190 >
2022-08-24 22:13:19 +00:00
Sami Kyöstilä
b936d638ab
intel/ds: Update to Perfetto API v28.0
...
Perfetto v28.0 changes the naming scheme of generated enum constants.
Update our code to match and roll the version of Perfetto forward
accordingly.
No functional changes.
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18056 >
2022-08-19 18:09:43 +00:00
José Roberto de Souza
356a60bd6c
anv: Do not duplicate intel_device_info memory in each logical device
...
Each logical device can point to its physical device intel_device_info
saving at least one intel_device_info.
This also allow us to set 'const' to avoid values in intel_device_info
being changed by mistake.
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jordan Justen <jordan.l.justen@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17897 >
2022-08-19 16:29:58 +00:00
Lionel Landwerlin
1f34ce7e8e
intel/ds: track untyped dataport flushes
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16905 >
2022-08-05 10:43:50 +03:00
Lionel Landwerlin
1c077ca9c0
u_trace/anv/iris: drop cs argument for recording traces
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16605 >
2022-05-19 19:04:28 +00:00
Lionel Landwerlin
5398c9183e
intel/ds: fix compilation
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6518
Fixes: efc2782f97
("intel/perf: store a copy of devinfo")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16601 >
2022-05-19 16:42:41 +00:00
Lionel Landwerlin
9d0db8d4c4
intel/perf: deal with OA reports timestamp values on DG2
...
OA reports on XeHP have their timestamp shifted to the left by 1. To
get that back in the same time domain as the REG_READ you need to
shift it back to the right and you're loosing the top bit.
v2: use ull for 64bit constant (Ian)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144 >
2022-05-17 19:55:10 +00:00
Lionel Landwerlin
fdb74a77d2
intel/ds: fix compilation with perfetto
...
Forgot to test with perfetto...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 9da3d714b8
("anv: add dynamic rendering traces")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5992
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Tested-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14914 >
2022-02-08 12:29:21 +00:00