diff options
author | Chad Versace <[email protected]> | 2017-05-30 09:53:28 -0700 |
---|---|---|
committer | Chad Versace <[email protected]> | 2017-06-01 12:03:33 -0700 |
commit | 7a4964ec5c1a0dd065436ff7d25aecb45d306979 (patch) | |
tree | 3f7e9a2dd0b11f3e12ed34e892167f1c91968bd7 | |
parent | fe9699dcb491d07f5b629828fd0d3dad5a213318 (diff) |
i965: Reject unsupported formats in glEGLImageTargetTexture2D()
If the EGLImage's format is not a supported texture format according to
brw_surface_formats.c, then refuse to create the miptree. This follows
the precedent in glEGLImageRenderbufferStorage (implemented by
intel_image_target_renderbuffer_storage), which rejects the EGLImage's
format if is not renderable.
Reviewed-by: Kenneth Graunke <[email protected]>
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_tex_image.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c b/src/mesa/drivers/dri/i965/intel_tex_image.c index 7208d8eb4ad..649b3907d13 100644 --- a/src/mesa/drivers/dri/i965/intel_tex_image.c +++ b/src/mesa/drivers/dri/i965/intel_tex_image.c @@ -251,9 +251,13 @@ static struct intel_mipmap_tree * create_mt_for_dri_image(struct brw_context *brw, GLenum target, __DRIimage *image) { + struct gl_context *ctx = &brw->ctx; struct intel_mipmap_tree *mt; uint32_t draw_x, draw_y; + if (!ctx->TextureFormatSupported[image->format]) + return NULL; + /* Disable creation of the texture's aux buffers because the driver exposes * no EGL API to manage them. That is, there is no API for resolving the aux * buffer's content to the main buffer nor for invalidating the aux buffer's |