mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-12 02:30:32 +01:00
The original MR switched to use a float raw_timestamp_period to scale the raw timestamp outside of the gallium driver. This better matched how vulkan works. But unlike vulkan, gallium has timestamp related queries/APIs that return already scaled time, resulting in small errors if the way the scaling is done differs between driver scaling and frontend scaling. The important thing is that any error introduced by scaling must be the same error across APIs. (In particular, a f64 value cannot preciesly represent an arbitrary u64 value. OTOH the driver's scaling could be simply multiply be an integer. But differing precision errors of the two approachs causes problems when comparing between timestamps that are converted in different ways.) In some, but not all, cases this could be addressed by changing the driver to use the same scaling function, but this is not always possible (if, for ex, the scaling is done on the GPU CP). So switch back to the original approach from !39995, using a pscreen->convert_timestamp() callback, to put the control back in the hands of the driver. Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40051> |
||
|---|---|---|
| .. | ||
| cso | ||
| buffermapping.rst | ||
| context.rst | ||
| cso.rst | ||
| debugging.rst | ||
| format.rst | ||
| glossary.rst | ||
| index.rst | ||
| intro.rst | ||
| pipeline.txt | ||
| postprocess.rst | ||
| resources.rst | ||
| screen.rst | ||
| tgsi.rst | ||