From b7932e183c15a224adc4b04835f82f3c867a4a24 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 25 Apr 2012 13:19:28 -0700 Subject: i965: Add support for GL_ARB_draw_buffers_blend. Tested with piglit fbo-draw-buffers-blend and intel oglconform. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/gen6_cc.c | 12 ++++++------ src/mesa/drivers/dri/intel/intel_extensions.c | 4 ++++ 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/i965/gen6_cc.c b/src/mesa/drivers/dri/i965/gen6_cc.c index 8a805fa6d7..b4c5329772 100644 --- a/src/mesa/drivers/dri/i965/gen6_cc.c +++ b/src/mesa/drivers/dri/i965/gen6_cc.c @@ -92,12 +92,12 @@ gen6_upload_blend_state(struct brw_context *brw) intel_translate_logic_op(ctx->Color.LogicOp); } } else if (ctx->Color.BlendEnabled & (1 << b) && !integer) { - GLenum eqRGB = ctx->Color.Blend[0].EquationRGB; - GLenum eqA = ctx->Color.Blend[0].EquationA; - GLenum srcRGB = ctx->Color.Blend[0].SrcRGB; - GLenum dstRGB = ctx->Color.Blend[0].DstRGB; - GLenum srcA = ctx->Color.Blend[0].SrcA; - GLenum dstA = ctx->Color.Blend[0].DstA; + GLenum eqRGB = ctx->Color.Blend[b].EquationRGB; + GLenum eqA = ctx->Color.Blend[b].EquationA; + GLenum srcRGB = ctx->Color.Blend[b].SrcRGB; + GLenum dstRGB = ctx->Color.Blend[b].DstRGB; + GLenum srcA = ctx->Color.Blend[b].SrcA; + GLenum dstA = ctx->Color.Blend[b].DstA; if (eqRGB == GL_MIN || eqRGB == GL_MAX) { srcRGB = dstRGB = GL_ONE; diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c b/src/mesa/drivers/dri/intel/intel_extensions.c index a50ab777e9..d4713c9858 100644 --- a/src/mesa/drivers/dri/intel/intel_extensions.c +++ b/src/mesa/drivers/dri/intel/intel_extensions.c @@ -100,6 +100,10 @@ intelInitExtensions(struct gl_context *ctx) (intel->gen == 7 && intel->intelScreen->kernel_has_gen7_sol_reset)) ctx->Extensions.EXT_transform_feedback = true; + if (intel->gen >= 6) { + ctx->Extensions.ARB_draw_buffers_blend = true; + } + if (intel->gen >= 5) ctx->Extensions.EXT_timer_query = true; -- cgit v1.2.3