Matt Turner <matts...@gmail.com> writes: > On Wed, Mar 11, 2015 at 1:07 PM, Kenneth Graunke <kenn...@whitecape.org> > wrote: >> On Wednesday, March 11, 2015 07:25:14 PM Francisco Jerez wrote: >>> "Pohjolainen, Topi" <topi.pohjolai...@intel.com> writes: >>> > On Fri, Feb 27, 2015 at 05:34:44PM +0200, Francisco Jerez wrote: >>> >> @@ -1218,17 +1198,6 @@ >>> >> fs_generator::generate_varying_pull_constant_load_gen7(fs_inst *inst, >>> >> false /* header */, >>> >> simd_mode, >>> >> 0); >>> >> - brw_inst_set_exec_size(p->brw, insn_or, BRW_EXECUTE_1); >>> >> - brw_inst_set_src1_reg_type(p->brw, insn_or, BRW_REGISTER_TYPE_UD); >>> >> - brw_set_src0(p, insn_or, addr); >>> >> - brw_set_dest(p, insn_or, addr); >>> >> - >>> >> - >>> >> - /* dst = send(offset, a0.0) */ >>> >> - brw_inst *insn_send = brw_next_insn(p, BRW_OPCODE_SEND); >>> >> - brw_set_dest(p, insn_send, retype(dst, BRW_REGISTER_TYPE_UW)); >>> > >>> > I'm just reading this through again and noticed that the destination type >>> > changes here to BRW_REGISTER_TYPE_UD (set in brw_send_indirect_message()). >>> >>> Ah, yes, that change is intentional. The type being set to UW was a >>> remnant from Gen4-5 times -- Those used to require the destination type >>> of SEND to be W/UW when doing 16-wide (even if the message was actually >>> writing dwords back...). None of the codepaths modified in this patch >>> (or in the rest of the series) should be executed on Gen4 or 5. >>> >>> Anyway good catch. :) >> >> I'm pretty sure this does still apply on Gen7 - notably, BLORP uses UW >> destinations for SIMD16 sends, and I believe Paul Berry tracked actual >> issues down to that. BLORP only exists on Gen6+. >> >> I also seem to recall Chris Forbes hitting an issue relating to that >> which he and Paul fixed during XDC 2013. >> >> CC'ing Chris and Matt in case they remember any details. > > I believe he was helping Abdiel track down a hang when using the > resource streamer, and it turned out that using UW typed-destinations > on sends in blorp fixed it: > > commit 4c4934636cb286e7d7836afc26e9d392e2f0f155 > Author: Paul Berry <stereotype...@gmail.com> > Date: Tue Sep 24 15:18:52 2013 -0700 > > i965/blorp: retype destination register for texture SEND instruction to > UW. > > The resource streamer only exists on HSW+, so the UW dest is certainly > needed for things after Gen5.
Odd, I haven't seen a mention of that restriction in the hardware specs (at least not on reasonably recent ones -- the Gen4 and 5 specs do mention it and they actually hang if you send a message with compression enabled and anything bigger than a W as destination type). Is this a purely empirical finding? If so, doesn't it deserve a big fat warning comment? Is this only a problem for some interaction with the resource streamer or has it ever been observed to fix something else?
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev