[Mesa-dev] [PATCH 06/10] mesa: Allow glGet* queries on ARB_transform_feedback2 data in ES 3

Kenneth Graunke kenneth at whitecape.org
Mon Nov 19 16:25:39 PST 2012


On 11/19/2012 10:15 AM, Matt Turner wrote:
> Fixes the transform_feedback2_init_defaults test from es3conform.
>
> Strangely, I can't find these mentioned in es_spec_3.0.0.pdf.

The ES 3.0 spec lists them as TRANSFORM_FEEDBACK_PAUSED and 
TRANSFORM_FEEDBACK_ACTIVE.  According to my includes, these are 0x8E23 
and 0x8E24, respectively.

That makes them the same as TRANSFORM_FEEDBACK_BUFFER_PAUSED and 
TRANSFORM_FEEDBACK_BUFFER_ACTIVE.

Probably either a spec or conformance test bug.

> ---
>   src/mesa/main/get.c              |    7 ++++++-
>   src/mesa/main/get_hash_params.py |   10 +++++-----
>   2 files changed, 11 insertions(+), 6 deletions(-)
>
> diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
> index ceefe71..62c16ac 100644
> --- a/src/mesa/main/get.c
> +++ b/src/mesa/main/get.c
> @@ -307,6 +307,12 @@ static const int extra_ARB_sync_api_es3[] = {
>      EXTRA_END
>   };
>
> +static const int extra_ARB_transform_feedback2_api_es3[] = {
> +   EXT(ARB_transform_feedback2),
> +   EXTRA_API_ES3,
> +   EXTRA_END
> +};
> +
>   static const int extra_ARB_uniform_buffer_object_api_es3[] = {
>      EXT(ARB_uniform_buffer_object),
>      EXTRA_API_ES3,
> @@ -343,7 +349,6 @@ EXTRA_EXT2(ARB_framebuffer_object, EXT_framebuffer_multisample);
>   EXTRA_EXT(EXT_framebuffer_object);
>   EXTRA_EXT(ARB_seamless_cube_map);
>   EXTRA_EXT(ARB_vertex_shader);
> -EXTRA_EXT(ARB_transform_feedback2);
>   EXTRA_EXT(ARB_transform_feedback3);
>   EXTRA_EXT(ARB_vertex_program);
>   EXTRA_EXT2(NV_point_sprite, ARB_point_sprite);
> diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py
> index 0a03e8c..e502642 100644
> --- a/src/mesa/main/get_hash_params.py
> +++ b/src/mesa/main/get_hash_params.py
> @@ -593,11 +593,6 @@ descriptor=[
>   # GL_EXT_texture_integer
>     [ "RGBA_INTEGER_MODE_EXT", "BUFFER_BOOL(_IntegerColor), extra_EXT_texture_integer" ],
>
> -# GL_ARB_transform_feedback2
> -  [ "TRANSFORM_FEEDBACK_BUFFER_PAUSED", "LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_ARB_transform_feedback2" ],
> -  [ "TRANSFORM_FEEDBACK_BUFFER_ACTIVE", "LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_ARB_transform_feedback2" ],
> -  [ "TRANSFORM_FEEDBACK_BINDING", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_transform_feedback2" ],
> -
>   # GL_ARB_transform_feedback3
>     [ "MAX_TRANSFORM_FEEDBACK_BUFFERS", "CONTEXT_INT(Const.MaxTransformFeedbackBuffers), extra_ARB_transform_feedback3" ],
>     [ "MAX_VERTEX_STREAMS", "CONTEXT_INT(Const.MaxVertexStreams), extra_ARB_transform_feedback3" ],
> @@ -681,6 +676,11 @@ descriptor=[
>   # GL_ARB_sync
>     [ "MAX_SERVER_WAIT_TIMEOUT", "CONTEXT_INT64(Const.MaxServerWaitTimeout), extra_ARB_sync_api_es3" ],
>
> +# GL_ARB_transform_feedback2
> +  [ "TRANSFORM_FEEDBACK_BUFFER_PAUSED", "LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_ARB_transform_feedback2_api_es3" ],
> +  [ "TRANSFORM_FEEDBACK_BUFFER_ACTIVE", "LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_ARB_transform_feedback2_api_es3" ],
> +  [ "TRANSFORM_FEEDBACK_BINDING", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_transform_feedback2_api_es3" ],
> +
>   # GL_ARB_uniform_buffer_object
>     [ "MAX_VERTEX_UNIFORM_BLOCKS", "CONTEXT_INT(Const.VertexProgram.MaxUniformBlocks), extra_ARB_uniform_buffer_object_api_es3" ],
>     [ "MAX_FRAGMENT_UNIFORM_BLOCKS", "CONTEXT_INT(Const.FragmentProgram.MaxUniformBlocks), extra_ARB_uniform_buffer_object_api_es3" ],
>



More information about the mesa-dev mailing list