[Mesa-dev] Mesa (d3d1x): d3d1x: add new Direct3D 10/11 COM state tracker for Gallium

Keith Whitwell keithw at vmware.com
Tue Sep 21 01:42:58 PDT 2010


On Mon, 2010-09-20 at 16:28 -0700, Luca Barbieri wrote:
> > A couple of questions - it looks like this is a drop-in for the
> > d3d10/11 runtime, rather than an implementation of the DDI.
> Yes.
> 
> > I think
> > that makes sense, but it could also be possible to split it into two
> > pieces implementing either side of the d3d10 DDI interface.  Any
> > thoughts on whether that's interesting to you?
> 
> I wrote it this way first of all because it's clearly easier to just
> write the code to support one interface, rather than writing two
> pieces, and it avoids unnecessary reliance on Microsoft interfaces,
> which often tend to be imperfectly documented.
> Not going through the DDI also clearly reduces CPU overhead and keeps
> the codebase simpler.
> 
> I think a DDI implementation over Gallium could just live along as a
> sibling to the COM implementation, sharing common code, which is
> already split out into modules such as d3d1xshader and d3d1xstutil.
> The shader parser and translator can be fully shared and several
> conversions (e.g. DXGI_FORMAT -> pipe_format) are already separate
> from the main code, although perhaps more could be factored out.
> 
> Instead, layering the COM API over the DDI API doesn't necessarily
> seem to be a win, especially because Gallium is so close to the
> D3D10/11 interfaces that it's not even clear that using the DDI is
> much easier than just using Gallium directly.
> 
> I don't think I'll do it myself as an hobby project though.

Sounds good Luca, just interested in your plans for this.

I don't see any reason not to merge this to master straight away -- this
is all self-contained in its own directory & doesn't seem like it will
regress anything else...

Keith



More information about the mesa-dev mailing list