freedreno: Implement PIPE_CAP_TIMER_RESOLUTION

Perhaps it should use div_round_up() unlike normal timestamp conversion,
but this is close enough and it makes the connection to the 19.2MHz RBBM
counter more obvious.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26640>
(cherry picked from commit 1188b218c6)
This commit is contained in:
Rob Clark 2023-12-11 13:52:26 -08:00 committed by Eric Engestrom
parent 349d6426f9
commit 5be8e689e7
2 changed files with 3 additions and 1 deletions

View file

@ -19994,7 +19994,7 @@
"description": "freedreno: Implement PIPE_CAP_TIMER_RESOLUTION",
"nominated": false,
"nomination_type": 3,
"resolution": 4,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -589,6 +589,8 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
/* only a4xx, requires new enough kernel so we know max_freq: */
return (screen->max_freq > 0) &&
(is_a4xx(screen) || is_a5xx(screen) || is_a6xx(screen));
case PIPE_CAP_TIMER_RESOLUTION:
return ticks_to_ns(1);
case PIPE_CAP_QUERY_BUFFER_OBJECT:
case PIPE_CAP_QUERY_SO_OVERFLOW:
case PIPE_CAP_QUERY_PIPELINE_STATISTICS_SINGLE: