i965: Set up the color masking for the first drawbuffer on gen6.
Fixes glean/maskedClear
This commit is contained in:
parent
d2028ba339
commit
0d3b8a5cc2
|
@ -35,6 +35,7 @@
|
||||||
struct gen6_blend_state_key {
|
struct gen6_blend_state_key {
|
||||||
GLboolean color_blend, alpha_enabled;
|
GLboolean color_blend, alpha_enabled;
|
||||||
GLboolean dither;
|
GLboolean dither;
|
||||||
|
GLboolean color_mask[4];
|
||||||
|
|
||||||
GLenum logic_op;
|
GLenum logic_op;
|
||||||
|
|
||||||
|
@ -53,6 +54,9 @@ blend_state_populate_key(struct brw_context *brw,
|
||||||
|
|
||||||
memset(key, 0, sizeof(*key));
|
memset(key, 0, sizeof(*key));
|
||||||
|
|
||||||
|
/* _NEW_COLOR */
|
||||||
|
memcpy(key->color_mask, ctx->Color.ColorMask[0], sizeof(key->color_mask));
|
||||||
|
|
||||||
/* _NEW_COLOR */
|
/* _NEW_COLOR */
|
||||||
if (ctx->Color._LogicOpEnabled)
|
if (ctx->Color._LogicOpEnabled)
|
||||||
key->logic_op = ctx->Color.LogicOp;
|
key->logic_op = ctx->Color.LogicOp;
|
||||||
|
@ -137,6 +141,11 @@ blend_state_create_from_key(struct brw_context *brw,
|
||||||
blend.blend1.x_dither_offset = 0;
|
blend.blend1.x_dither_offset = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
blend.blend1.write_disable_r = !key->color_mask[0];
|
||||||
|
blend.blend1.write_disable_g = !key->color_mask[1];
|
||||||
|
blend.blend1.write_disable_b = !key->color_mask[2];
|
||||||
|
blend.blend1.write_disable_a = !key->color_mask[3];
|
||||||
|
|
||||||
bo = brw_upload_cache(&brw->cache, BRW_BLEND_STATE,
|
bo = brw_upload_cache(&brw->cache, BRW_BLEND_STATE,
|
||||||
key, sizeof(*key),
|
key, sizeof(*key),
|
||||||
NULL, 0,
|
NULL, 0,
|
||||||
|
|
Loading…
Reference in New Issue