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

Jakob Bornecrantz wallbraker at gmail.com
Tue Sep 21 02:14:39 PDT 2010

On Tue, Sep 21, 2010 at 10:42 AM, Keith Whitwell <keithw at vmware.com> wrote:
> 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...

Maybe not the binaries, but it looks like you pushed already anyways.

Cheers Jakob.

More information about the mesa-dev mailing list