r600g: remove the dual_src_blend flag from the shader key
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
This commit is contained in:
@@ -268,7 +268,6 @@ struct r600_pipe_shader_selector {
|
||||
struct r600_shader_key {
|
||||
unsigned color_two_side:1;
|
||||
unsigned alpha_to_one:1;
|
||||
unsigned dual_src_blend:1;
|
||||
unsigned nr_cbufs:4;
|
||||
};
|
||||
|
||||
|
||||
@@ -1612,7 +1612,7 @@ static int r600_shader_from_tgsi(struct r600_screen *rscreen,
|
||||
case TGSI_PROCESSOR_FRAGMENT:
|
||||
if (shader->output[i].name == TGSI_SEMANTIC_COLOR) {
|
||||
/* never export more colors than the number of CBs */
|
||||
if (next_pixel_base && next_pixel_base >= key.nr_cbufs + key.dual_src_blend) {
|
||||
if (next_pixel_base && next_pixel_base >= key.nr_cbufs) {
|
||||
/* skip export */
|
||||
j--;
|
||||
continue;
|
||||
|
||||
@@ -747,8 +747,10 @@ static INLINE struct r600_shader_key r600_shader_selector_key(struct pipe_contex
|
||||
key.alpha_to_one = rctx->alpha_to_one &&
|
||||
rctx->multisample_enable &&
|
||||
!rctx->framebuffer.cb0_is_integer;
|
||||
key.dual_src_blend = rctx->dual_src_blend;
|
||||
key.nr_cbufs = rctx->framebuffer.state.nr_cbufs;
|
||||
/* Dual-source blending only makes sense with nr_cbufs == 1. */
|
||||
if (key.nr_cbufs == 1 && rctx->dual_src_blend)
|
||||
key.nr_cbufs = 2;
|
||||
}
|
||||
return key;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user