Module: Mesa
Branch: master
Commit: 37d540ba709ae0128a6fb3e11a7124eb6e8c00a0
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=37d540ba709ae0128a6fb3e11a7124eb6e8c00a0

Author: Rob Clark <robcl...@freedesktop.org>
Date:   Wed Feb 10 14:40:24 2016 -0500

freedreno: expose time-elapsed query

Signed-off-by: Rob Clark <robcl...@freedesktop.org>

---

 src/gallium/drivers/freedreno/freedreno_query_hw.c | 2 ++
 src/gallium/drivers/freedreno/freedreno_screen.c   | 4 +++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/freedreno/freedreno_query_hw.c 
b/src/gallium/drivers/freedreno/freedreno_query_hw.c
index 433c678..2ac03f2 100644
--- a/src/gallium/drivers/freedreno/freedreno_query_hw.c
+++ b/src/gallium/drivers/freedreno/freedreno_query_hw.c
@@ -47,6 +47,8 @@ static int pidx(unsigned query_type)
                return 0;
        case PIPE_QUERY_OCCLUSION_PREDICATE:
                return 1;
+       case PIPE_QUERY_TIME_ELAPSED:
+               return 2;
        default:
                return -1;
        }
diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c 
b/src/gallium/drivers/freedreno/freedreno_screen.c
index bd83734..2b3ecfe 100644
--- a/src/gallium/drivers/freedreno/freedreno_screen.c
+++ b/src/gallium/drivers/freedreno/freedreno_screen.c
@@ -298,12 +298,14 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
                return is_a3xx(screen) ? 1 : 0;
 
        /* Queries. */
-       case PIPE_CAP_QUERY_TIME_ELAPSED:
        case PIPE_CAP_QUERY_TIMESTAMP:
        case PIPE_CAP_QUERY_BUFFER_OBJECT:
                return 0;
        case PIPE_CAP_OCCLUSION_QUERY:
                return is_a3xx(screen) || is_a4xx(screen);
+       case PIPE_CAP_QUERY_TIME_ELAPSED:
+               /* only a4xx, requires new enough kernel so we know max_freq: */
+               return (screen->max_freq > 0) && is_a4xx(screen);
 
        case PIPE_CAP_MIN_TEXTURE_GATHER_OFFSET:
        case PIPE_CAP_MIN_TEXEL_OFFSET:

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to