Skip to content
Snippets Groups Projects
Commit e3ea5bc0 authored by Emma Anholt's avatar Emma Anholt
Browse files

i965: Fix fp-lit-src-equals-dst.


We were stomping over the source for the body of the LIT instruction
when doing the MOV of 1.0 to the uninteresting channels.

Reviewed-by: default avatarIan Romanick <ian.d.romanick@intel.com>
parent be039d29
No related branches found
No related tags found
No related merge requests found
......@@ -611,7 +611,17 @@ static void precalc_lit( struct brw_wm_compile *c,
{
struct prog_src_register src0 = inst->SrcReg[0];
struct prog_dst_register dst = inst->DstReg;
if (dst.WriteMask & WRITEMASK_YZ) {
emit_op(c,
OPCODE_LIT,
dst_mask(dst, WRITEMASK_YZ),
inst->SaturateMode,
src0,
src_undef(),
src_undef());
}
if (dst.WriteMask & WRITEMASK_XW) {
struct prog_instruction *swz;
......@@ -627,16 +637,6 @@ static void precalc_lit( struct brw_wm_compile *c,
/* Avoid letting the negation flag of src0 affect our 1 constant. */
swz->SrcReg[0].Negate = NEGATE_NONE;
}
if (dst.WriteMask & WRITEMASK_YZ) {
emit_op(c,
OPCODE_LIT,
dst_mask(dst, WRITEMASK_YZ),
inst->SaturateMode,
src0,
src_undef(),
src_undef());
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment