From: Jason Ekstrand Date: Mon, 8 Sep 2014 22:26:24 +0000 (-0700) Subject: i965/fs: Use the UW type for the destination of VARYING_PULL_CONSTANT_LOAD instructions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1385a4b706afa71eebcb72cd232faecc0b956b50;p=mesa.git i965/fs: Use the UW type for the destination of VARYING_PULL_CONSTANT_LOAD instructions Using a floating-point type doesn't usually cause hangs on my HSW, but the simulator complains about it quite a bit. Signed-off-by: Jason Ekstrand Reviewed-by: Matt Turner --- diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp index e523df557f6..6ba9c0edf6c 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp @@ -1079,7 +1079,7 @@ fs_generator::generate_varying_pull_constant_load_gen7(fs_inst *inst, uint32_t surf_index = index.dw1.ud; brw_inst *send = brw_next_insn(p, BRW_OPCODE_SEND); - brw_set_dest(p, send, dst); + brw_set_dest(p, send, retype(dst, BRW_REGISTER_TYPE_UW)); brw_set_src0(p, send, offset); brw_set_sampler_message(p, send, surf_index, @@ -1128,7 +1128,7 @@ fs_generator::generate_varying_pull_constant_load_gen7(fs_inst *inst, /* dst = send(offset, a0.0) */ brw_inst *insn_send = brw_next_insn(p, BRW_OPCODE_SEND); - brw_set_dest(p, insn_send, dst); + brw_set_dest(p, insn_send, retype(dst, BRW_REGISTER_TYPE_UW)); brw_set_src0(p, insn_send, offset); brw_set_indirect_send_descriptor(p, insn_send, BRW_SFID_SAMPLER, addr);