r600g: fix lockups with and enable dual source blending on evergreen

GL_ARB_blend_func_extended is now enabled on all chipsets.
This commit is contained in:
Marek Olšák 2012-07-15 03:38:42 +02:00
parent c26fadf195
commit 9d699cd845
2 changed files with 4 additions and 4 deletions

View file

@ -1652,7 +1652,9 @@ static void evergreen_set_framebuffer_state(struct pipe_context *ctx,
for (i = 0; i < state->nr_cbufs; i++) {
evergreen_cb(rctx, rstate, state, i);
}
/* CB_COLOR1_INFO is already initialized for possible dual-src blending */
if (i == 1)
i++;
for (; i < 8 ; i++) {
r600_pipe_state_add_reg(rstate, R_028C70_CB_COLOR0_INFO + i * 0x3C, 0);
}

View file

@ -384,6 +384,7 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
case PIPE_CAP_USER_CONSTANT_BUFFERS:
case PIPE_CAP_COMPUTE:
case PIPE_CAP_START_INSTANCE:
case PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS:
return 1;
case PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT:
@ -451,9 +452,6 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
case PIPE_CAP_MAX_TEXEL_OFFSET:
return 7;
case PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS:
return family < CHIP_CEDAR ? 1 : 0;
}
return 0;
}