i965: Add support for GL_ARB_draw_buffers_blend.

Tested with piglit fbo-draw-buffers-blend and intel oglconform.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Eric Anholt 2012-04-25 13:19:28 -07:00
parent 9ef549d7cd
commit b7932e183c
3 changed files with 11 additions and 7 deletions

View file

@ -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

View file

@ -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;

View file

@ -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;