From 78a340fd487c56468ace7347a53f95a0c751c419 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 23 Nov 2010 16:17:21 -0800 Subject: [PATCH] i915: Disallow alpha, red, RG, and sRGB as render targets Fixes bugzilla #31832 NOTE: This is a candidate for the 7.9 branch. --- src/mesa/drivers/dri/intel/intel_fbo.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c index 862a13d2ea5..18e796a1186 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.c +++ b/src/mesa/drivers/dri/intel/intel_fbo.c @@ -465,10 +465,12 @@ intel_update_wrapper(struct gl_context *ctx, struct intel_renderbuffer *irb, irb->Base.DataType = GL_UNSIGNED_BYTE; DBG("Render to XGBA8 texture OK\n"); } +#ifndef I915 else if (texImage->TexFormat == MESA_FORMAT_SARGB8) { irb->Base.DataType = GL_UNSIGNED_BYTE; DBG("Render to SARGB8 texture OK\n"); } +#endif else if (texImage->TexFormat == MESA_FORMAT_RGB565) { irb->Base.DataType = GL_UNSIGNED_BYTE; DBG("Render to RGB5 texture OK\n"); @@ -481,6 +483,7 @@ intel_update_wrapper(struct gl_context *ctx, struct intel_renderbuffer *irb, irb->Base.DataType = GL_UNSIGNED_BYTE; DBG("Render to ARGB4444 texture OK\n"); } +#ifndef I915 else if (texImage->TexFormat == MESA_FORMAT_A8) { irb->Base.DataType = GL_UNSIGNED_BYTE; DBG("Render to A8 texture OK\n"); @@ -501,6 +504,7 @@ intel_update_wrapper(struct gl_context *ctx, struct intel_renderbuffer *irb, irb->Base.DataType = GL_UNSIGNED_SHORT; DBG("Render to RG88 texture OK\n"); } +#endif else if (texImage->TexFormat == MESA_FORMAT_Z16) { irb->Base.DataType = GL_UNSIGNED_SHORT; DBG("Render to DEPTH16 texture OK\n"); @@ -710,15 +714,17 @@ intel_validate_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb) switch (irb->Base.Format) { case MESA_FORMAT_ARGB8888: case MESA_FORMAT_XRGB8888: - case MESA_FORMAT_SARGB8: case MESA_FORMAT_RGB565: case MESA_FORMAT_ARGB1555: case MESA_FORMAT_ARGB4444: +#ifndef I915 + case MESA_FORMAT_SARGB8: case MESA_FORMAT_A8: case MESA_FORMAT_R8: case MESA_FORMAT_R16: case MESA_FORMAT_RG88: case MESA_FORMAT_RG1616: +#endif break; default: fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED_EXT; -- 2.30.2