aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYevhenii Kolesnikov <[email protected]>2020-01-02 15:06:48 +0200
committerTapani Pälli <[email protected]>2020-01-08 09:21:39 +0200
commited43dd62acc045e71d73dc28b74b6a9a9d52286f (patch)
treebca11655dd5efefd2fc991da96d5c9b40b326e17 /src
parent803fad43c3f9a89f0d8409bd33280b5457b104c7 (diff)
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 <image2D> sampler type. Fixes: 02a6d901eee ("mesa: add OES_EGL_image_external_essl3 support") Signed-off-by: Yevhenii Kolesnikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/main/shaderimage.c6
1 files changed, 5 insertions, 1 deletions
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;