We can't really do this because we don't have support for forcing the
alpha to 1 when it gets used for other purposes (readpixels,
texturing).
Fixes the last failure in EXT_texture_integer/fbo-blending
NOTE: This is a candidate for the 8.0 branch.
---
src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
index f203f98..b1be5e8 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
@@ -599,6 +599,13 @@ brw_render_target_supported(struct intel_context *intel,
struct brw_context *brw = brw_context(&intel->ctx);
gl_format format = rb->Format;
+ /* Our GL_RGB formats are promoted to RGBA, but we can't use the alpha
+ * blending trick to force alpha to one like we do for normalized surfaces,
+ * since the hardware can't do blending to integer render targets.
+ */
+ if (rb->_BaseFormat == GL_RGB && _mesa_is_format_integer_color(rb->Format))
+ return false;
+
return brw->format_supported_as_render_target[format];
}
--
1.7.7.3
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev