intel/compiler: Replicate 16 bit immediate value correctly
For the W or UW (signed or unsigned word) source types, the 16-bit value must be replicated in both the low and high words of the 32-bit immediate value. v2: Fix replication in other places as well V3: fix a few nits (Matt Turner) Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
@@ -443,6 +443,9 @@ generate_gs_set_write_offset(struct brw_codegen *p,
|
||||
brw_MOV(p, suboffset(stride(dst, 2, 2, 1), 3),
|
||||
brw_imm_ud(src0.ud * src1.ud));
|
||||
} else {
|
||||
if (src1.file == BRW_IMMEDIATE_VALUE) {
|
||||
src1 = brw_imm_uw(src1.ud);
|
||||
}
|
||||
brw_MUL(p, suboffset(stride(dst, 2, 2, 1), 3), stride(src0, 8, 2, 4),
|
||||
retype(src1, BRW_REGISTER_TYPE_UW));
|
||||
}
|
||||
|
Reference in New Issue
Block a user