Jason Ekstrand <ja...@jlekstrand.net> writes: > On Thu, Feb 19, 2015 at 12:13 PM, Francisco Jerez <curroje...@riseup.net> > wrote: > >> Jason Ekstrand <ja...@jlekstrand.net> writes: >> >> > On Fri, Feb 6, 2015 at 4:01 PM, Francisco Jerez <curroje...@riseup.net> >> > wrote: >> > >> >> Hey Matt, >> >> >> >> Matt Turner <matts...@gmail.com> writes: >> >> >> >> > On Fri, Feb 6, 2015 at 6:42 AM, Francisco Jerez < >> curroje...@riseup.net> >> >> wrote: >> >> >> MRFs cannot be read from anyway so they cannot possibly be a valid >> >> >> source of LOAD_PAYLOAD. >> >> >> --- >> >> > >> >> > The function only seems to test inst->dst.file == MRF. I don't see any >> >> > code for handling MRF sources. What am I missing? >> >> >> >> That test is for "handling" MRF sources -- More precisely, it's >> >> collecting the writemask and half flags for MRF writes, which can only >> >> possibly be useful if we're going to use them later on to read something >> >> out of an MRF into a payload, which we shouldn't be doing in the first >> >> place. >> >> >> >> Aside from simplifying the function somewhat, that allows us to drop the >> >> 16 register gap reserved for MRFs at register offset zero, what will >> >> allow us to drop the vgrf_to_reg[] offset calculation completely (also >> >> in split_virtual_grfs()) in a future patch (not sent for review yet). >> >> >> > >> > No, we do read from MRF's sort-of... Send messages have an implicit >> "read" >> > from an MRF. >> >> Heh, and that's pretty much the only way you "read" from it. >> >> > This was written precicely so that we could use LOAD_PAYLOAD >> > to build MRF payloads. We do on pre-GEN6. >> > >> I'm aware, but you don't need any of this meta-data to LOAD_PAYLOAD >> *into* an MRF, and LOAD_PAYLOAD with an MRF as source should be illegal >> anyway. >> > > And no one is using it that way. All of the metadata checks you are > deleting are checks on the *destination*. >
Didn't you write this code yourself? The only use for the collected metadata is initializing the instruction flags of the MOVs subsequent LOAD_PAYLOAD instructions are lowered to, based on the metadata already collected for its source registers, which can never be MRFs, so the metadata you collect from MRF writes is never actually used. > >> > >> >> _______________________________________________ >> >> mesa-dev mailing list >> >> mesa-dev@lists.freedesktop.org >> >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev >> >> >> >> >>
pgpznbosO3BD6.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev