mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 01:08:03 +02:00
r600g: fix the CB_SHADER_MASK setup
This fixes the single-sample fast clear hang.
Cc: 10.6 <mesa-stable@lists.freedesktop.org>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit d4ad4c2061)
This commit is contained in:
parent
880a0ce2e9
commit
7722a24cab
2 changed files with 5 additions and 4 deletions
|
|
@ -1732,10 +1732,10 @@ static void evergreen_emit_cb_misc_state(struct r600_context *rctx, struct r600_
|
|||
|
||||
r600_write_context_reg_seq(cs, R_028238_CB_TARGET_MASK, 2);
|
||||
radeon_emit(cs, a->blend_colormask & fb_colormask); /* R_028238_CB_TARGET_MASK */
|
||||
/* Always enable the first colorbuffer in CB_SHADER_MASK. This
|
||||
* will assure that the alpha-test will work even if there is
|
||||
* no colorbuffer bound. */
|
||||
radeon_emit(cs, 0xf | (a->dual_src_blend ? ps_colormask : 0) | fb_colormask); /* R_02823C_CB_SHADER_MASK */
|
||||
/* This must match the used export instructions exactly.
|
||||
* Other values may lead to undefined behavior and hangs.
|
||||
*/
|
||||
radeon_emit(cs, ps_colormask); /* R_02823C_CB_SHADER_MASK */
|
||||
}
|
||||
|
||||
static void evergreen_emit_db_state(struct r600_context *rctx, struct r600_atom *atom)
|
||||
|
|
|
|||
|
|
@ -2482,6 +2482,7 @@ static int r600_shader_from_tgsi(struct r600_context *rctx,
|
|||
output[j].array_base = 0;
|
||||
output[j].op = CF_OP_EXPORT;
|
||||
j++;
|
||||
shader->nr_ps_color_exports++;
|
||||
}
|
||||
|
||||
noutput = j;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue