[Mesa-dev] [PATCH v3 0/9] Gallium Nine

Axel Davy axel.davy at ens.fr
Fri Nov 14 08:52:01 PST 2014


On 14/11/2014 17:15, Henri Verbeet wrote :
> On 14 November 2014 16:36, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>> Is there a different form that you believe would be more likely to be merged?
>>
> The main issue is probably that we'd really like to avoid having two
> parallel implementations of the high-level d3d9 stuff. [....]


Hi,

We understand the will of wine devs not to support two implementations.

However first, we will maintain that implementation, and the wine bits 
are rather small (a few files).

It's more important for us to be merged in Mesa,
because it is much easier for users to install a custom wine build (via 
playOnLinux, etc) than Mesa.

Second d3d9 as gallium state tracker seems much easier than d3d9 on OpenGL.
As for me, I contributed only since a few months ago, and was able to 
implement a lot of things quite easily, for exemple:

. Respect the number of backbuffer asked by the app (as far as I know 
wine doesn't support >= 2 and behaves like 1)
. Support the Render-ahead d3d9 behaviour (d3d9 doesn't have tripple 
buffering like Opengl can have)
. wine seems to have a lot of issues with stuttering, etc. We have 
control of throttling and vsync, and thus don't have any particular 
issue there
. We have very good DRI_PRIME support (better than what GLX has currently).

The fact that nine was develloped so fast by few devs show well that it 
was easier.

Some glitches that wine has do not appear on nine. (we have others, but 
we fix them rapidly when we find them).
Nine gets better performance than wine. On my AMD hd 7730m, I get a 
consistent 10% gain (I'm gpu limited). Others with better cards get 
better gains. But above all, games fell much more playable due to stable 
framerate.

Third Nine doesn't harm wine implementation. The user explicitly 
enable/disable Nine support in wine, and if it is enabled and fails to 
load, it will fallback to normal wine support. User gets a message in 
console to tell him why it failed/ if Nine is activated.


I hope these arguments will help convince you,

Axel Davy


More information about the mesa-dev mailing list