[Mesa-dev] [PATCH 1/2] mesa: Allow to invalidate external textures when (re-)binding

Marek Olšák maraeo at gmail.com
Thu May 26 14:29:10 UTC 2016


Reviewed-by: Marek Olšák <marek.olsak at amd.com>

Marek

On Wed, May 25, 2016 at 3:17 PM, Philipp Zabel <p.zabel at pengutronix.de> wrote:
> To comply with the requirement from the GL_OES_EGL_image_external
> extension that a call to glBindTexture guarantees that all further
> sampling will return values that correspond to the values in the
> external texture at or after the time that glBindTexture was called,
> do not bail out early from mesa_BindTextures if the target is
> external.
>
> Signed-off-by: Philipp Zabel <p.zabel at pengutronix.de>
> ---
>  src/mesa/main/texobj.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
> index c9502bd..6219617 100644
> --- a/src/mesa/main/texobj.c
> +++ b/src/mesa/main/texobj.c
> @@ -1623,9 +1623,10 @@ bind_texture(struct gl_context *ctx,
>     assert(targetIndex < NUM_TEXTURE_TARGETS);
>
>     /* Check if this texture is only used by this context and is already bound.
> -    * If so, just return.
> +    * If so, just return. For GL_OES_image_external, rebinding the texture
> +    * always must invalidate cached resources.
>      */
> -   {
> +   if (targetIndex != TEXTURE_EXTERNAL_INDEX) {
>        bool early_out;
>        mtx_lock(&ctx->Shared->Mutex);
>        early_out = ((ctx->Shared->RefCount == 1)
> --
> 2.8.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list