mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 11:00:11 +01:00
i965: When emitting a src/dst write of an output, keep the write mask
Fixes i965 piglit:
vs-varying-array-mat[234]-col-row-wr
vs-varying-array-mat[234]-index-col-row-wr
vs-varying-array-mat[234]-index-row-wr
vs-varying-array-mat[234]-row-wr
vs-varying-mat[234]-col-row-wr
vs-varying-mat[234]-row-wr
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
fbeb68e880
commit
337e2dfad0
1 changed files with 5 additions and 1 deletions
|
|
@ -1993,7 +1993,11 @@ void brw_vs_emit(struct brw_vs_compile *c )
|
|||
index = inst->DstReg.Index;
|
||||
file = inst->DstReg.File;
|
||||
if (file == PROGRAM_OUTPUT && c->output_regs[index].used_in_src)
|
||||
dst = c->output_regs[index].reg;
|
||||
/* Can't just make get_dst "do the right thing" here because other
|
||||
* callers of get_dst don't expect any special behavior for the
|
||||
* c->output_regs[index].used_in_src case.
|
||||
*/
|
||||
dst = brw_writemask(c->output_regs[index].reg, inst->DstReg.WriteMask);
|
||||
else
|
||||
dst = get_dst(c, inst->DstReg);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue