[Mesa-dev] [PATCH 4/5] mesa: add ARB_texture_barrier support
Ilia Mirkin
imirkin at alum.mit.edu
Mon Aug 11 12:22:39 PDT 2014
On Mon, Aug 11, 2014 at 3:07 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> The extension is identical to NV_texture_barrier except for the function
> name.
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
>
> I know these are normally split up a bit more, but here the implementation is
> *trivial*.
Err.... I realized that I forgot a patch in this series. At the very
least I need to add it to extensions.c based on NV_texture_barrier. Do
I also need to deal with the dlist stuff? If so, do I need to create a
separate opcode/save function/etc, or can they be shared?
The subject of this patch should be more like
mesa: add glTextureBarrier entrypoint
or something else similarly appropriate.
>
> src/mapi/glapi/gen/ARB_texture_barrier.xml | 13 +++++++++++++
> src/mapi/glapi/gen/Makefile.am | 1 +
> src/mapi/glapi/gen/gl_API.xml | 4 ++++
> src/mesa/main/tests/dispatch_sanity.cpp | 3 +++
> src/mesa/main/texturebarrier.c | 8 ++++++++
> src/mesa/main/texturebarrier.h | 3 +++
> 6 files changed, 32 insertions(+)
> create mode 100644 src/mapi/glapi/gen/ARB_texture_barrier.xml
>
> diff --git a/src/mapi/glapi/gen/ARB_texture_barrier.xml b/src/mapi/glapi/gen/ARB_texture_barrier.xml
> new file mode 100644
> index 0000000..7ad9da0
> --- /dev/null
> +++ b/src/mapi/glapi/gen/ARB_texture_barrier.xml
> @@ -0,0 +1,13 @@
> +<?xml version="1.0"?>
> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
> +
> +<!-- Note: no GLX protocol info yet. -->
> +
> +
> +<OpenGLAPI>
> +
> +<category name="GL_ARB_texture_barrier" number="167">
> + <function name="TextureBarrier" offset="assign" />
> +</category>
> +
> +</OpenGLAPI>
> diff --git a/src/mapi/glapi/gen/Makefile.am b/src/mapi/glapi/gen/Makefile.am
> index 212731f..2cc2752 100644
> --- a/src/mapi/glapi/gen/Makefile.am
> +++ b/src/mapi/glapi/gen/Makefile.am
> @@ -144,6 +144,7 @@ API_XML = \
> ARB_shader_atomic_counters.xml \
> ARB_shader_image_load_store.xml \
> ARB_sync.xml \
> + ARB_texture_barrier.xml \
> ARB_texture_buffer_object.xml \
> ARB_texture_buffer_range.xml \
> ARB_texture_compression_rgtc.xml \
> diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
> index e011509..ccf3b9a 100644
> --- a/src/mapi/glapi/gen/gl_API.xml
> +++ b/src/mapi/glapi/gen/gl_API.xml
> @@ -8364,6 +8364,10 @@
>
> <xi:include href="ARB_multi_bind.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
>
> +<!-- ARB extensions 148 - 166 -->
> +
> +<xi:include href="ARB_texture_barrier.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
> +
> <!-- Non-ARB extensions sorted by extension number. -->
>
> <category name="GL_EXT_blend_color" number="2">
> diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
> index 5e751f4..5f2b9ac 100644
> --- a/src/mesa/main/tests/dispatch_sanity.cpp
> +++ b/src/mesa/main/tests/dispatch_sanity.cpp
> @@ -951,6 +951,9 @@ const struct function gl_core_functions_possible[] = {
> { "glClearTexImage", 13, -1 },
> { "glClearTexSubImage", 13, -1 },
>
> + /* GL_ARB_texture_barrier */
> + { "glTextureBarrier", 31, -1 },
> +
> { NULL, 0, -1 }
> };
>
> diff --git a/src/mesa/main/texturebarrier.c b/src/mesa/main/texturebarrier.c
> index 08ff561..303fa0c 100644
> --- a/src/mesa/main/texturebarrier.c
> +++ b/src/mesa/main/texturebarrier.c
> @@ -51,3 +51,11 @@ _mesa_TextureBarrierNV(void)
>
> ctx->Driver.TextureBarrier(ctx);
> }
> +
> +void GLAPIENTRY
> +_mesa_TextureBarrier(void)
> +{
> + GET_CURRENT_CONTEXT(ctx);
> +
> + ctx->Driver.TextureBarrier(ctx);
> +}
> diff --git a/src/mesa/main/texturebarrier.h b/src/mesa/main/texturebarrier.h
> index a84a85b..84dd469 100644
> --- a/src/mesa/main/texturebarrier.h
> +++ b/src/mesa/main/texturebarrier.h
> @@ -41,4 +41,7 @@ _mesa_init_texture_barrier_functions(struct dd_function_table *driver);
> extern void GLAPIENTRY
> _mesa_TextureBarrierNV(void);
>
> +extern void GLAPIENTRY
> +_mesa_TextureBarrier(void);
> +
> #endif /* TEXTUREBARRIER_H */
> --
> 1.8.5.5
>
More information about the mesa-dev
mailing list