summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolai Hähnle <nicolai.haehnle@amd.com>2017-07-26 18:57:56 +0200
committerNicolai Hähnle <nicolai.haehnle@amd.com>2017-07-31 18:31:57 +0200
commit5c33d4d567dbafd23c4152db0b5159ba92c99f4b (patch)
treeb7341b2579392f79ba1a07e6930e60a7bcfa5cba
parent5482c344c034efe0b363837b9b8724b29e3f3983 (diff)
st/mesa: implement ARB_transform_feedback_overflow_query
v2: update for new cap name
-rw-r--r--src/mesa/state_tracker/st_cb_queryobj.c4
-rw-r--r--src/mesa/state_tracker/st_extensions.c1
2 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_cb_queryobj.c b/src/mesa/state_tracker/st_cb_queryobj.c
index b1ac2aab6d..4c25724b5d 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 74193cc492..8f1676ef41 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 },