[PATCH v4 5/7] mesa: update external textures when (re-)binding
Marek Olšák
maraeo at gmail.com
Sat Jan 14 13:49:04 UTC 2017
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
On Dec 6, 2016 5: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.
> This will later allow the state tracker to instruct the pipe driver
> to invalidate internal resources derived from the external texture.
>
> 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 e5b7070..25b959d 100644
> --- a/src/mesa/main/texobj.c
> +++ b/src/mesa/main/texobj.c
> @@ -1619,9 +1619,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.10.2
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/etnaviv/attachments/20170114/2235a1d8/attachment-0001.html>
More information about the etnaviv
mailing list