[Mesa-dev] [PATCH 3/3] draw: rewrite primitive assembler

Zack Rusin zackr at vmware.com
Thu Aug 8 17:15:21 PDT 2013


> Am 09.08.2013 00:40, schrieb Zack Rusin:
> >  > Series looks good though I'm unsure why the pipeline stage doesn't work.
> >> Where does that decomposition happen? Is that something like GS
> >> outputting multiple prims in the same topology which all need the same id?
> > 
> > No, it's because the pipeline stage is ran on the decomposed primitives.
> > The issue is that the pipeline stage is ran after stream output and stream
> > output requires decomposed primitives, meaning that by the time we get to
> > the pipeline we lost the original primitive info. The d3d10 wants the
> > primitive id's to be injected into vertices but in the order in which they
> > are traversed on the original (striped) primitives, so we need to do it
> > when doing the original decomposition where we have access to the original
> > topology and can number the vertices correctly.
> > 
> > z
> > 
> 
> I see I totally forgot stream out needs decomposed primitives, and I
> guess stream out (and prim assembler) can't run as an ordinary pipeline
> stage?

I was thinking about that when I was doing it and I thought it should be possible to rewrite SO as a pipeline stage, but we'd need to change the interface to include some sort of a prepare stage and then redo the code in so. Once so would be in a pipeline then we could think about primitive assembler, but that would require also more changes to the pipeline because we want to know if the primitives are adjacency primitives and pipeline stages get only tris/lines/points... and this was the point at which I went "screw it, i'm injecting prim ids in the primitive assembler".

z


More information about the mesa-dev mailing list