[Mesa-dev] [PATCH v3 9/9] mesa: add KHR_no_error support for NamedFramebufferTexture

Nicolai Hähnle nhaehnle at gmail.com
Mon May 15 14:07:47 UTC 2017


Thanks for the update, I think the series is much clearer now.

At some point...


On 11.05.2017 14:29, Timothy Arceri wrote:
> V3: use frame_buffer_texture() helper
> ---
>  src/mapi/glapi/gen/ARB_direct_state_access.xml | 2 +-
>  src/mesa/main/fbobject.c                       | 8 ++++++++
>  src/mesa/main/fbobject.h                       | 3 +++
>  3 files changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/src/mapi/glapi/gen/ARB_direct_state_access.xml b/src/mapi/glapi/gen/ARB_direct_state_access.xml
> index 2f3d60f..2f2ba20 100644
> --- a/src/mapi/glapi/gen/ARB_direct_state_access.xml
> +++ b/src/mapi/glapi/gen/ARB_direct_state_access.xml
> @@ -164,21 +164,21 @@
>        <param name="renderbuffertarget" type="GLenum" />
>        <param name="renderbuffer" type="GLuint" />
>     </function>
>
>     <function name="NamedFramebufferParameteri">
>        <param name="framebuffer" type="GLuint" />
>        <param name="pname" type="GLenum" />
>        <param name="param" type="GLint" />
>     </function>
>
> -   <function name="NamedFramebufferTexture">
> +   <function name="NamedFramebufferTexture" no_error="true">
>        <param name="framebuffer" type="GLuint" />
>        <param name="attachment" type="GLenum" />
>        <param name="texture" type="GLuint" />
>        <param name="level" type="GLint" />
>     </function>
>
>     <function name="NamedFramebufferTextureLayer" no_error="true">
>        <param name="framebuffer" type="GLuint" />
>        <param name="attachment" type="GLenum" />
>        <param name="texture" type="GLuint" />
> diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
> index 8718216..d7690f4 100644
> --- a/src/mesa/main/fbobject.c
> +++ b/src/mesa/main/fbobject.c
> @@ -3561,20 +3561,28 @@ _mesa_FramebufferTexture_no_error(GLenum target, GLenum attachment,
>
>
>  void GLAPIENTRY
>  _mesa_FramebufferTexture(GLenum target, GLenum attachment,
>                           GLuint texture, GLint level)
>  {
>     frame_buffer_texture(0, target, attachment, texture, level, 0,
>                          "glFramebufferTexture", false, false, true);
>  }
>
> +void GLAPIENTRY
> +_mesa_NamedFramebufferTexture_no_error(GLuint framebuffer, GLenum attachment,
> +                                       GLuint texture, GLint level)
> +{
> +   frame_buffer_texture(framebuffer, 0, attachment, texture, level, 0,
> +                        "glNamedFramebufferTexture", true, true, true);

... the magic sequence of three bools might be nice to cleanup, but 
that's not an urgent matter.

Patches 1-6, 8 & 9 are:

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

> +}
> +
>
>  void GLAPIENTRY
>  _mesa_NamedFramebufferTexture(GLuint framebuffer, GLenum attachment,
>                                GLuint texture, GLint level)
>  {
>     frame_buffer_texture(framebuffer, 0, attachment, texture, level, 0,
>                          "glNamedFramebufferTexture", true, false, true);
>  }
>
>
> diff --git a/src/mesa/main/fbobject.h b/src/mesa/main/fbobject.h
> index 1d064f8..1c9056d 100644
> --- a/src/mesa/main/fbobject.h
> +++ b/src/mesa/main/fbobject.h
> @@ -258,20 +258,23 @@ _mesa_NamedFramebufferTextureLayer(GLuint framebuffer, GLenum attachment,
>                                     GLuint texture, GLint level, GLint layer);
>
>  extern void GLAPIENTRY
>  _mesa_FramebufferTexture_no_error(GLenum target, GLenum attachment,
>                                    GLuint texture, GLint level);
>  extern void GLAPIENTRY
>  _mesa_FramebufferTexture(GLenum target, GLenum attachment,
>                           GLuint texture, GLint level);
>
>  extern void GLAPIENTRY
> +_mesa_NamedFramebufferTexture_no_error(GLuint framebuffer, GLenum attachment,
> +                                       GLuint texture, GLint level);
> +extern void GLAPIENTRY
>  _mesa_NamedFramebufferTexture(GLuint framebuffer, GLenum attachment,
>                                GLuint texture, GLint level);
>
>  extern void GLAPIENTRY
>  _mesa_FramebufferRenderbuffer(GLenum target, GLenum attachment,
>                                   GLenum renderbuffertarget,
>                                   GLuint renderbuffer);
>
>  extern void GLAPIENTRY
>  _mesa_NamedFramebufferRenderbuffer(GLuint framebuffer, GLenum attachment,
>


-- 
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.


More information about the mesa-dev mailing list