----- Original Message ----- > Am 11.03.2013 15:52, schrieb Jose Fonseca: > > Christian, > > > > I didn't comment on the previous threads, but the approach mentioned in > > http://lists.freedesktop.org/archives/mesa-dev/2012-November/030476.html > > seems sensible to me. > > > > I think after the first round we should have this in a branch to allow > > drivers to catch up with the interface change. Or is it possible for > > drivers to opt-in via a cap? > > Not the drivers are in question of changing, the state trackers are. If > the drivers just ignore those additional informations nothing should > change for them.
I think that drivers like llvmpipe will choke on declarations like DCL TEMP[1][0..7] So if the state trackers start emitting these I think we'll nee > For the state trackers my current approach also doesn't need them to > change, currently the semantics is as following: > > If Declaration==0 then we fall back to the "old" behavior, e.g. the > whole register file is indirectly addressed. > Else the state tracker (currently only glsl_to_tgsi) provided the > necessary information in the Declaration field to only indirect address > a certain part of the register file. Yes, I like that. I think we could eventually be strict and forbid indirect declaration==0, but it's nice not to have to rush. > > A few more remarks inline. > > > > ----- Original Message ----- > >> From: Christian König <christian.koe...@amd.com> > >> > >> To further improve the optimization of source and destination > >> indirect addressing we need the ability to store a reference > >> to the declaration of the addressed operands. > > Just to be perfectly clear, declaration number does not refer to the n-th > > TEMP declaration, but declaration of TEMP[n], right? > > No, currently it indeed refers to the n-th TEMP declaration. But I'm > still fighting with myself weather or not that's a good idea. I think that using n-th TEMP[?] declaration instead of declaration of TEMP[n] it might be a bad precedent. > > That is, this > > > > DCL TEMP[1][0..70] > > DCL TEMP[2][0..7] > > MOV OUT[1], TEMP[1][ADDR[0].x] > > > > and this > > > > DCL TEMP[2][0..7] > > DCL TEMP[1][0..70] > > MOV OUT[1], TEMP[1][ADDR[0].x] > > > > are equivalent, right? > > > > If so, I wonder if there is a name more descriptive than "Declaration" > > here. Maybe "Range", or "IndexableRange"? > > Correct, yes. As said above, currently "Declaration" refers to the n-th > declaration but I can easily add an "Indirect" flag to tgsi_declaration I think I'd prefer something along these lines. > (there are still 6 bits of padding in it) and have an "IndirectRangeID" > (or ArrayID, ArrayName, whatever, make your choice) token following the > declaration. "Array*" sounds great to me. Jose _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev