[Mesa-dev] [PATCH 1/6] mesa: add new entrypoints for GL_OES_viewport_array

Anuj Phogat anuj.phogat at gmail.com
Fri Sep 16 20:55:55 UTC 2016


On Fri, Sep 16, 2016 at 12:55 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
>  src/mapi/glapi/gen/apiexec.py           | 12 ++++----
>  src/mapi/glapi/gen/es_EXT.xml           | 50 +++++++++++++++++++++++++++++++++
>  src/mesa/main/tests/dispatch_sanity.cpp | 11 ++++++++
>  src/mesa/main/viewport.c                | 12 ++++++++
>  src/mesa/main/viewport.h                |  6 ++++
>  5 files changed, 85 insertions(+), 6 deletions(-)
>
> diff --git a/src/mapi/glapi/gen/apiexec.py b/src/mapi/glapi/gen/apiexec.py
> index b4f4cf6..4bdc95d 100644
> --- a/src/mapi/glapi/gen/apiexec.py
> +++ b/src/mapi/glapi/gen/apiexec.py
> @@ -133,12 +133,12 @@ functions = {
>      #
>      # Mesa does not support either of the geometry shader extensions, so
>      # OpenGL 3.2 is required.
> -    "ViewportArrayv": exec_info(core=32),
> -    "ViewportIndexedf": exec_info(core=32),
> -    "ViewportIndexedfv": exec_info(core=32),
> -    "ScissorArrayv": exec_info(core=32),
> -    "ScissorIndexed": exec_info(core=32),
> -    "ScissorIndexedv": exec_info(core=32),
> +    "ViewportArrayv": exec_info(core=32, es2=31),
> +    "ViewportIndexedf": exec_info(core=32, es2=31),
> +    "ViewportIndexedfv": exec_info(core=32, es2=31),
> +    "ScissorArrayv": exec_info(core=32, es2=31),
> +    "ScissorIndexed": exec_info(core=32, es2=31),
> +    "ScissorIndexedv": exec_info(core=32, es2=31),
>      "DepthRangeArrayv": exec_info(core=32),
>      "DepthRangeIndexed": exec_info(core=32),
>      # GetFloati_v also GL_ARB_shader_atomic_counters
> diff --git a/src/mapi/glapi/gen/es_EXT.xml b/src/mapi/glapi/gen/es_EXT.xml
> index 332dc5e..3e705eb 100644
> --- a/src/mapi/glapi/gen/es_EXT.xml
> +++ b/src/mapi/glapi/gen/es_EXT.xml
> @@ -1342,4 +1342,54 @@
>
>  </category>
>
> +<category name="GL_OES_viewport_array" number="267">
> +    <function name="ViewportArrayvOES" es2="3.1" alias="ViewportArrayv">
> +        <param name="first" type="GLuint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="v" type="const GLfloat *"/>
> +    </function>
> +    <function name="ViewportIndexedfOES" es2="3.1" alias="ViewportIndexedf">
> +        <param name="index" type="GLuint"/>
> +        <param name="x" type="GLfloat"/>
> +        <param name="y" type="GLfloat"/>
> +        <param name="w" type="GLfloat"/>
> +        <param name="h" type="GLfloat"/>
> +    </function>
> +    <function name="ViewportIndexedfvOES" es2="3.1" alias="ViewportIndexedfv">
> +        <param name="index" type="GLuint"/>
> +        <param name="v" type="const GLfloat *"/>
> +    </function>
> +    <function name="ScissorArrayvOES" es2="3.1" alias="ScissorArrayv">
> +        <param name="first" type="GLuint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="v" type="const int *"/>
> +    </function>
> +    <function name="ScissorIndexedOES" es2="3.1" alias="ScissorIndexed">
> +        <param name="index" type="GLuint"/>
> +        <param name="left" type="GLint"/>
> +        <param name="bottom" type="GLint"/>
> +        <param name="width" type="GLsizei"/>
> +        <param name="height" type="GLsizei"/>
> +    </function>
> +    <function name="ScissorIndexedvOES" es2="3.1" alias="ScissorIndexedv">
> +        <param name="index" type="GLuint"/>
> +        <param name="v" type="const GLint *"/>
> +    </function>
> +    <function name="DepthRangeArrayfvOES" es2="3.1" desktop="false">
> +        <param name="first" type="GLuint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="v" type="const GLfloat *"/>
> +    </function>
> +    <function name="DepthRangeIndexedfOES" es2="3.1" desktop="false">
> +        <param name="index" type="GLuint"/>
> +        <param name="n" type="GLfloat"/>
> +        <param name="f" type="GLfloat"/>
> +    </function>
> +    <function name="GetFloati_vOES" es2="3.1" alias="GetFloati_v">
> +        <param name="target" type="GLenum"/>
> +        <param name="index" type="GLuint"/>
> +        <param name="data" type="GLfloat *"/>
> +    </function>
> +</category>
> +
>  </OpenGLAPI>
> diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
> index c87b1dc..0d3b6ab 100644
> --- a/src/mesa/main/tests/dispatch_sanity.cpp
> +++ b/src/mesa/main/tests/dispatch_sanity.cpp
> @@ -2613,5 +2613,16 @@ const struct function gles31_functions_possible[] = {
>     /* GL_OES_primitive_bound_box */
>     { "glPrimitiveBoundingBoxOES", 31, -1 },
>
> +   /* GL_OES_viewport_array */
> +   { "glViewportArrayvOES", 31, -1 },
> +   { "glViewportIndexedfOES", 31, -1 },
> +   { "glViewportIndexedfvOES", 31, -1 },
> +   { "glScissorArrayvOES", 31, -1 },
> +   { "glScissorIndexedOES", 31, -1 },
> +   { "glScissorIndexedvOES", 31, -1 },
> +   { "glDepthRangeArrayfvOES", 31, -1 },
> +   { "glDepthRangeIndexedfOES", 31, -1 },
> +   { "glGetFloati_vOES", 31, -1 },
> +
>     { NULL, 0, -1 },
>   };
> diff --git a/src/mesa/main/viewport.c b/src/mesa/main/viewport.c
> index 681e46b..f6eaa0f 100644
> --- a/src/mesa/main/viewport.c
> +++ b/src/mesa/main/viewport.c
> @@ -330,6 +330,12 @@ _mesa_DepthRangeArrayv(GLuint first, GLsizei count, const GLclampd *v)
>        ctx->Driver.DepthRange(ctx);
>  }
>
> +void GLAPIENTRY
> +_mesa_DepthRangeArrayfvOES(GLuint first, GLsizei count, const GLfloat *v)
> +{
> +
> +}
> +
>  /**
>   * Update a single DepthRange
>   *
> @@ -358,6 +364,12 @@ _mesa_DepthRangeIndexed(GLuint index, GLclampd nearval, GLclampd farval)
>     _mesa_set_depth_range(ctx, index, nearval, farval);
>  }
>
> +void GLAPIENTRY
> +_mesa_DepthRangeIndexedfOES(GLuint index, GLfloat nearval, GLfloat farval)
> +{
> +
> +}
> +
>  /**
>   * Initialize the context viewport attribute group.
>   * \param ctx  the GL context.
> diff --git a/src/mesa/main/viewport.h b/src/mesa/main/viewport.h
> index b0675db..3951319 100644
> --- a/src/mesa/main/viewport.h
> +++ b/src/mesa/main/viewport.h
> @@ -58,8 +58,14 @@ extern void GLAPIENTRY
>  _mesa_DepthRangeArrayv(GLuint first, GLsizei count, const GLclampd * v);
>
>  extern void GLAPIENTRY
> +_mesa_DepthRangeArrayfvOES(GLuint first, GLsizei count, const GLfloat * v);
> +
> +extern void GLAPIENTRY
>  _mesa_DepthRangeIndexed(GLuint index, GLclampd n, GLclampd f);
>
> +extern void GLAPIENTRY
> +_mesa_DepthRangeIndexedfOES(GLuint index, GLfloat n, GLfloat f);
> +
>  extern void
>  _mesa_set_depth_range(struct gl_context *ctx, unsigned idx,
>                        GLclampd nearval, GLclampd farval);
> --
> 2.7.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Patches 1-5 are: Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>


More information about the mesa-dev mailing list