mesa/src/intel/dev
Nemallapudi, Jaikrishna e47ed60ee6 intel/dev: fix timebase_scale ticks-to-ns precision loss across 2^32
Android CTS CtsGpuProfilingDataTest#testProfilingDataProducersAvailable
intermittently fails with "Render stages reported before their
VkQueueSubmit events". Root cause is in the Perfetto clock correlation:
render-stage timestamps go through intel_device_info_timebase_scale()
while VkQueueSubmit packets use BOOTTIME directly, so any drift in the
scaler shows up as render stages preceding their submits.

intel_device_info_timebase_scale() scales the upper and lower halves
of the raw timestamp separately and recombines them, but silently
drops the upper-half division's remainder. When the frequency doesn't
evenly divide 1e9, every wrap past 2^32 loses a fixed number of ns
and shows up as a step in Perfetto's GPU-vs-BOOTTIME snapshot offset.

Carry the upper-half remainder into the lower-half numerator before
dividing, so no precision is lost. All intermediates still fit in
uint64_t.

Cc: mesa-stable
Signed-off-by: Nemallapudi, Jaikrishna <nemallapudi.jaikrishna@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41630>
2026-05-18 10:18:00 +00:00
..
i915 intel: Add support for madvise purgeable VMAs in Xe KMD 2026-05-04 20:11:23 +00:00
virtio intel/virtio: Preserve errno properly when handling ioctl 2026-05-13 11:34:11 +00:00
xe intel: Add support for madvise purgeable VMAs in Xe KMD 2026-05-04 20:11:23 +00:00
gen_wa_helpers.py intel/dev: add NVL_U, NVL_P platforms to gen_wa_helpers.py 2026-03-19 20:58:37 +00:00
intel_debug.c intel: add INTEL_JAY environment variable 2026-04-10 18:21:21 +00:00
intel_debug.h intel: use stable NDK __android_log_print helper 2026-05-01 20:23:23 +00:00
intel_device_info.c intel: Move cmat configurations to anv_physical_device 2026-05-15 05:38:49 +00:00
intel_device_info.h intel/dev: fix timebase_scale ticks-to-ns precision loss across 2^32 2026-05-18 10:18:00 +00:00
intel_device_info.py intel: Move cmat configurations to anv_physical_device 2026-05-15 05:38:49 +00:00
intel_device_info_gen_h.py intel: Remove circular dependency between intel/dev and intel/common 2024-02-14 17:29:54 +00:00
intel_device_info_override_test.c intel: Skip ioctls for querying device info when hardware is unsupported 2024-01-25 09:57:24 +00:00
intel_device_info_serialize.h intel/dev: implement json serialization for intel_device_info 2024-02-13 19:38:36 +00:00
intel_device_info_serialize_gen_c.py Rename *_sha1 names to *_blake3 2026-03-23 07:03:28 +00:00
intel_device_info_test.c treewide: Use regexp to replace usage of setenv with os_set_option. 2025-11-27 18:22:34 +00:00
intel_device_info_test.h
intel_hwconfig.c intel/dev: Add geometry, color and depth pipes count 2025-10-23 16:59:09 +00:00
intel_hwconfig.h intel/dev: Call intel_device_info_update_after_hwconfig() from common code 2025-02-17 20:52:31 +00:00
intel_hwconfig_types.h intel/hwconfig: Sync hwconfig with IGT 2025-03-25 17:46:12 +00:00
intel_kmd.c intel: Add virtio-gpu native context 2026-02-06 00:15:37 +00:00
intel_kmd.h intel/common: Prepare mi_builder tests to support Xe KMD 2024-11-20 01:47:04 +00:00
mesa_defs.json intel/dev: update mesa_defs.json from workaround database 2026-05-07 16:20:29 +00:00
meson.build intel: Add virtio-gpu native context 2026-02-06 00:15:37 +00:00