From b7932e183c15a224adc4b04835f82f3c867a4a24 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 25 Apr 2012 13:19:28 -0700 Subject: [PATCH] i965: Add support for GL_ARB_draw_buffers_blend. Tested with piglit fbo-draw-buffers-blend and intel oglconform. Reviewed-by: Kenneth Graunke --- docs/GL3.txt | 2 +- src/mesa/drivers/dri/i965/gen6_cc.c | 12 ++++++------ src/mesa/drivers/dri/intel/intel_extensions.c | 4 ++++ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/docs/GL3.txt b/docs/GL3.txt index 0a860bb3c1d..5fc6c69ba4b 100644 --- a/docs/GL3.txt +++ b/docs/GL3.txt @@ -88,7 +88,7 @@ GL 4.0: GLSL 4.0 not started GL_ARB_texture_query_lod not started -GL_ARB_draw_buffers_blend DONE (r600, softpipe) +GL_ARB_draw_buffers_blend DONE (i965, r600, softpipe) GL_ARB_draw_indirect not started GL_ARB_gpu_shader_fp64 not started GL_ARB_sample_shading not started diff --git a/src/mesa/drivers/dri/i965/gen6_cc.c b/src/mesa/drivers/dri/i965/gen6_cc.c index 8a805fa6d77..b4c5329772f 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 a50ab777e9b..d4713c98589 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; -- 2.30.2