On Sun, Jul 26, 2009 at 11:19 AM, Nicolai Hähnle<[email protected]> wrote: > I apologize for the last mail, since it's tone was probably too inflammatory > (I leave final judgement on that to others). > > Bottom line: I believe TGSI is good for *communicating* programs, but it's > needlessly complicated for *transforming* programs. > > If you want to transform a list of instructions, it seems the most logical > thing to me is to store them as just that: a list of instructions. I don't > care much about the details, so if somebody wants to introduce a nice way of > storing a list of instructions that is driver-agnostic, I'd be happy to change > the Radeon code even if the new structure is slightly different from what the > Radeon driver is currently using. The unstructured TGSI token stream is not > it, though. > > And now: > > <nha> swear to myself: no more mails or discussions on the TGSI topic from now > on
I don't particularly care that TGSI is stored in arrays, the Nouveau drivers only need a few forward passes to translate them to NV instructions anyway, but I think adding higher level structures to the representation like blocks and extended blocks and introducing forward & backward iterators would probably make things easier for those who want to apply non-trivial transforms to TGSI, and storing the instructions in a doubly linked list would probably make it easier to do the iterators. But I thought the ultimate plan here was to do the transforms in LLVM IR and have it spit out a stream of TGSI instructions? Are you interested in transforming TGSI because the LLVM stuff is not yet complete, or are you planning for Radeon-specific transforms always being required? ------------------------------------------------------------------------------ _______________________________________________ Mesa3d-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
