On Don, 2013-02-14 at 15:14 +0100, Michel Dänzer wrote: > On Don, 2013-02-14 at 14:35 +0100, Michel Dänzer wrote: > > On Don, 2013-02-14 at 11:43 +0100, Christian König wrote: > > > > > > + // Only one literal allowed > > > + break; > > > > The same literal could be used for several operands though. :) > > Basically, it seems like we're pretty close to allowing VSrc for all > VOP* source operands, and doing something like the following > pseudo-code:
Argh, Evolution dropped my indentation tabs. Let me try once more: for (each VSrc operand) { if (can be encoded as inline constant) use inline constant; if (is immediate && (no literal or SGPR yet || value matches literal)) use literal; if (is VGPR || (is SGPR && no SGPR or literal yet)) use operand directly; copy immediate/SGPR to VGPR and use the latter; } > And the corresponding simpler logic for SSrc. But I'm not sure if all of > that can be done in this function. > > -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Debian, X and DRI developer _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev