[virglrenderer-devel] [PATCH 14/21] features: add transform feedback overflow query
Gert Wollny
gert.wollny at collabora.com
Tue Jul 24 07:00:34 UTC 2018
Am Dienstag, den 24.07.2018, 13:39 +1000 schrieb Dave Airlie:
> From: Dave Airlie <airlied at redhat.com>
>
> ---
> src/vrend_renderer.c | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c
> index aa257bb..d0a81d3 100644
> --- a/src/vrend_renderer.c
> +++ b/src/vrend_renderer.c
> @@ -121,6 +121,7 @@ enum features_id
> feat_texture_view,
> feat_transform_feedback2,
> feat_transform_feedback3,
> + feat_transform_feedback_overflow_query,
> feat_viewport_array,
> feat_last,
> };
> @@ -165,6 +166,7 @@ static const struct {
> [feat_texture_view] = { 43, UNAVAIL, { "GL_ARB_texture_view" } },
> [feat_transform_feedback2] = { 40, UNAVAIL, {
> "GL_ARB_transform_feedback2" } },
> [feat_transform_feedback3] = { 40, UNAVAIL, {
> "GL_ARB_transform_feedback3" } },
> + [feat_transform_feedback_overflow_query] = { 46, UNAVAIL, {
> "GL_ARB_transform_feedback_overflow_query" } },
> [feat_viewport_array] = { 41, UNAVAIL, { "GL_ARB_viewport_array"
> } },
> };
>
> @@ -7105,12 +7107,15 @@ int vrend_create_query(struct vrend_context
> *ctx, uint32_t handle,
> q->gltype = GL_ANY_SAMPLES_PASSED_CONSERVATIVE;
> break;
> case PIPE_QUERY_SO_OVERFLOW_PREDICATE:
> + if (!has_feature(feat_transform_feedback_overflow_query))
> + return EINVAL;
> q->gltype = GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB;
> break;
> case PIPE_QUERY_SO_OVERFLOW_ANY_PREDICATE:
> + if (!has_feature(feat_transform_feedback_overflow_query))
> + return EINVAL;
> q->gltype = GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB;
> break;
> - break;
Nit: you could mention this unrelated cleanup,
Patches 13, 14 Reviewed-by: Gert Wollny <gert.wollny at collabora.com>
> default:
> fprintf(stderr,"unknown query object received %d\n", q->type);
> break;
> @@ -7696,12 +7701,8 @@ void vrend_renderer_fill_caps(uint32_t set,
> uint32_t version,
> if (has_feature(feat_polygon_offset_clamp))
> caps->v1.bset.polygon_offset_clamp = 1;
>
> - if (gl_ver >= 46) {
> + if (has_feature(feat_transform_feedback_overflow_query))
> caps->v1.bset.transform_feedback_overflow_query = 1;
> - } else {
> - if
> (epoxy_has_gl_extension("GL_ARB_transform_feedback_overflow_query"))
> - caps->v1.bset.transform_feedback_overflow_query = 1;
> - }
>
> if (epoxy_has_gl_extension("GL_EXT_texture_mirror_clamp") ||
> epoxy_has_gl_extension("GL_ARB_texture_mirror_clamp_to_edge")
> ) {
More information about the virglrenderer-devel
mailing list