From d8b78bb0ee663590380c05f0f825029a6bddac2b Mon Sep 17 00:00:00 2001 From: Nicolai Hähnle Date: Wed, 26 Jul 2017 18:57:56 +0200 Subject: st/mesa: implement ARB_transform_feedback_overflow_query MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit v2: update for new cap name Reviewed-by: Marek Olšák --- src/mesa/state_tracker/st_cb_queryobj.c | 4 +++- src/mesa/state_tracker/st_extensions.c | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mesa/state_tracker/st_cb_queryobj.c b/src/mesa/state_tracker/st_cb_queryobj.c index b1ac2aab6da..4c25724b5dc 100644 --- a/src/mesa/state_tracker/st_cb_queryobj.c +++ b/src/mesa/state_tracker/st_cb_queryobj.c @@ -118,7 +118,7 @@ st_BeginQuery(struct gl_context *ctx, struct gl_query_object *q) type = PIPE_QUERY_SO_OVERFLOW_PREDICATE; break; case GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB: - type = PIPE_QUERY_SO_OVERFLOW_PREDICATE; + type = PIPE_QUERY_SO_OVERFLOW_ANY_PREDICATE; break; case GL_TIME_ELAPSED: if (st->has_time_elapsed) @@ -260,6 +260,8 @@ get_query_result(struct pipe_context *pipe, default: switch (stq->type) { case PIPE_QUERY_OCCLUSION_PREDICATE: + case PIPE_QUERY_SO_OVERFLOW_PREDICATE: + case PIPE_QUERY_SO_OVERFLOW_ANY_PREDICATE: stq->base.Result = !!data.b; break; default: diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 74193cc4928..8f1676ef41f 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -626,6 +626,7 @@ void st_init_extensions(struct pipe_screen *screen, { o(ARB_timer_query), PIPE_CAP_QUERY_TIMESTAMP }, { o(ARB_transform_feedback2), PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME }, { o(ARB_transform_feedback3), PIPE_CAP_STREAM_OUTPUT_INTERLEAVE_BUFFERS }, + { o(ARB_transform_feedback_overflow_query), PIPE_CAP_QUERY_SO_OVERFLOW }, { o(KHR_blend_equation_advanced), PIPE_CAP_TGSI_FS_FBFETCH }, -- cgit v1.2.3