mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
ilo: correctly initialize undefined registers in fs
Initialize all 4 channels of undefined registers (that is, TEMPs that are used before being assigned) in FS.
This commit is contained in:
parent
a06ee5a09e
commit
29af29b8dc
1 changed files with 15 additions and 5 deletions
|
|
@ -2136,11 +2136,21 @@ ra_get_src(struct toy_tgsi *tgsi,
|
|||
struct toy_dst dst = tdst_from(src);
|
||||
dst.writemask = TOY_WRITEMASK_XYZW;
|
||||
|
||||
/*
|
||||
* Always initialize registers. Otherwise, if the random value
|
||||
* ends up in a VUE, FS may fail to interpolate correctly.
|
||||
*/
|
||||
tc_MOV(tgsi->tc, dst, tsrc_type(tsrc_imm_d(0), type));
|
||||
/* always initialize registers before use */
|
||||
if (tgsi->aos) {
|
||||
tc_MOV(tgsi->tc, dst, tsrc_type(tsrc_imm_d(0), type));
|
||||
}
|
||||
else {
|
||||
struct toy_dst tdst[4];
|
||||
int i;
|
||||
|
||||
tdst_transpose(dst, tdst);
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
tc_MOV(tgsi->tc, tdst[i],
|
||||
tsrc_type(tsrc_imm_d(0), type));
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue