From: Yevhenii Kolesnikov Date: Thu, 2 Jan 2020 13:06:48 +0000 (+0200) Subject: main: allow external textures for BindImageTexture X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ed43dd62acc045e71d73dc28b74b6a9a9d52286f;p=mesa.git main: allow external textures for BindImageTexture From issue 10 of the OES_EGL_image_external_essl3: A limited set of use-cases is enabled by making glBindImageTexture accept external textures. Shaders can access such external textures using the existing sampler type. Fixes: 02a6d901eee ("mesa: add OES_EGL_image_external_essl3 support") Signed-off-by: Yevhenii Kolesnikov Reviewed-by: Marek Olšák --- diff --git a/src/mesa/main/shaderimage.c b/src/mesa/main/shaderimage.c index 3f5dc16f2ff..5deca07b6a4 100644 --- a/src/mesa/main/shaderimage.c +++ b/src/mesa/main/shaderimage.c @@ -654,9 +654,13 @@ _mesa_BindImageTexture(GLuint unit, GLuint texture, GLint level, * However note that issue 7 of the GL_OES_texture_buffer spec * recognizes that there is no way to create immutable buffer textures, * so those are excluded from this requirement. + * + * Additionally, issue 10 of the OES_EGL_image_external_essl3 spec + * states that glBindImageTexture must accept external textures. */ if (_mesa_is_gles(ctx) && !texObj->Immutable && - texObj->Target != GL_TEXTURE_BUFFER) { + texObj->Target != GL_TEXTURE_BUFFER && + texObj->Target != GL_TEXTURE_EXTERNAL_OES) { _mesa_error(ctx, GL_INVALID_OPERATION, "glBindImageTexture(!immutable)"); return;