summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2018-05-28 11:53:35 +1000
committerJakob Bornecrantz <[email protected]>2018-05-30 17:02:55 +0100
commite2b6d830b2afb404489d9a28d1e6542c94e7576e (patch)
tree1ca4adb7cd50b9ba22d9c63e729ea5981fc7a890
parent22b072c194b4afb6ee04fcba4a4f2fa4ee6c74fb (diff)
virgl: add ARB_transform_feedback_overflow_query support
Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
-rw-r--r--src/gallium/drivers/virgl/virgl_query.c3
-rw-r--r--src/gallium/drivers/virgl/virgl_screen.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/virgl/virgl_query.c b/src/gallium/drivers/virgl/virgl_query.c
index e4d955442bf..a75b29c7c9b 100644
--- a/src/gallium/drivers/virgl/virgl_query.c
+++ b/src/gallium/drivers/virgl/virgl_query.c
@@ -49,6 +49,7 @@ struct virgl_query {
#define VIRGL_QUERY_GPU_FINISHED 9
#define VIRGL_QUERY_PIPELINE_STATISTICS 10
#define VIRGL_QUERY_OCCLUSION_PREDICATE_CONSERVATIVE 11
+#define VIRGL_QUERY_SO_OVERFLOW_ANY_PREDICATE 12
static const int pquery_map[] =
{
@@ -62,7 +63,7 @@ static const int pquery_map[] =
VIRGL_QUERY_PRIMITIVES_EMITTED,
VIRGL_QUERY_SO_STATISTICS,
VIRGL_QUERY_SO_OVERFLOW_PREDICATE,
- -1,
+ VIRGL_QUERY_SO_OVERFLOW_ANY_PREDICATE,
VIRGL_QUERY_GPU_FINISHED,
VIRGL_QUERY_PIPELINE_STATISTICS,
};
diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c
index 01f864c6573..6b12a4d0160 100644
--- a/src/gallium/drivers/virgl/virgl_screen.c
+++ b/src/gallium/drivers/virgl/virgl_screen.c
@@ -208,6 +208,8 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
return vscreen->caps.caps.v1.bset.derivative_control;
case PIPE_CAP_POLYGON_OFFSET_CLAMP:
return vscreen->caps.caps.v1.bset.polygon_offset_clamp;
+ case PIPE_CAP_QUERY_SO_OVERFLOW:
+ return vscreen->caps.caps.v1.bset.transform_feedback_overflow_query;
case PIPE_CAP_TEXTURE_GATHER_SM5:
case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
case PIPE_CAP_FAKE_SW_MSAA:
@@ -271,7 +273,6 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
case PIPE_CAP_POST_DEPTH_COVERAGE:
case PIPE_CAP_BINDLESS_TEXTURE:
case PIPE_CAP_NIR_SAMPLERS_AS_DEREF:
- case PIPE_CAP_QUERY_SO_OVERFLOW:
case PIPE_CAP_MEMOBJ:
case PIPE_CAP_LOAD_CONSTBUF:
case PIPE_CAP_TGSI_ANY_REG_AS_ADDRESS: