mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 07:08:04 +02:00
pan/midgard: Do not propagate swizzles into writeout
There's no slot for it; you'll end up writing into the void and clobbering stuff. Don't. do it. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
parent
eb3cc20f42
commit
116b17d2d1
1 changed files with 5 additions and 3 deletions
|
|
@ -53,16 +53,18 @@ midgard_opt_copy_prop(compiler_context *ctx, midgard_block *block)
|
|||
if (mir_nontrivial_outmod(ins)) continue;
|
||||
|
||||
/* Shortened arguments (bias for textures, extra load/store
|
||||
* arguments, etc.) do not get a swizzlw, only a start
|
||||
* component and even that is restricted. */
|
||||
* arguments, etc.) do not get a swizzle, only a start
|
||||
* component and even that is restricted. Fragment writeout
|
||||
* doesn't even get that much */
|
||||
|
||||
bool skip = false;
|
||||
|
||||
mir_foreach_instr_global(ctx, q) {
|
||||
bool is_tex = q->type == TAG_TEXTURE_4;
|
||||
bool is_ldst = q->type == TAG_LOAD_STORE_4;
|
||||
bool is_writeout = q->compact_branch && q->writeout;
|
||||
|
||||
if (!(is_tex || is_ldst)) continue;
|
||||
if (!(is_tex || is_ldst || is_writeout)) continue;
|
||||
|
||||
/* For textures, we get one real swizzle. For stores,
|
||||
* we also get one. For loads, we get none. */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue