From 5be8e689e79dad3afbf4e1eae4fa785c57c20550 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Mon, 11 Dec 2023 13:52:26 -0800 Subject: [PATCH] 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 Part-of: (cherry picked from commit 1188b218c61c8f33815e75bc8422cb80e3b468ec) --- .pick_status.json | 2 +- src/gallium/drivers/freedreno/freedreno_screen.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 34bde325017..9d0849a6af2 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -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 diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c index 7539b8b5d1f..93aa04fa3d1 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.c +++ b/src/gallium/drivers/freedreno/freedreno_screen.c @@ -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: