summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChad Versace <[email protected]>2017-05-30 09:53:28 -0700
committerChad Versace <[email protected]>2017-06-01 12:03:33 -0700
commit7a4964ec5c1a0dd065436ff7d25aecb45d306979 (patch)
tree3f7e9a2dd0b11f3e12ed34e892167f1c91968bd7
parentfe9699dcb491d07f5b629828fd0d3dad5a213318 (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.c4
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