Directx9

Ann and Jason Edmeades us at the-edmeades.demon.co.uk
Sun Sep 12 14:55:57 CDT 2004


Hello,

I've spoken with the wine-d3d people and noone is currently doing anything
on directx9 support. Originally Raphael was trying to merge things into a
new library, wined3d, using an interface which ddraw could also use. This
has not happened, and as we stand there is no progress being made.

Now, I know nothing about d3d9 support - I have started to see what would be
the easiest way to implement this, and have come up with a couple of
options, and am after some advice....

1. (My preference) d3d8 and d3d9 are very similar in lots of respects. I
would like to move all the GL code into the wined3d library, effectively
factorizing d3d8 and d3d9. However, this would mean extra function call
overhead for dx8 and I really dont know how common they will be. Obviously
d3d8 will change during such a transition

2. I could implement d3d9 from scratch. This would have the advantage of
being a standalone library and wont affect d3d8, but a disadvantage of
having to fix anything twice, and probably they will get out of sync really
quickly. Also, d3d8 still has parts missing, and I'd prefer a single
implementation if possible. If we did this, wined3d could be deleted and a
huge code duplication would be required

(or 3.... Do nothing, and see if anyone else takes up the gauntlet.)

Now, I am not a 3d graphics programmer - I learnt d3d8 as I implemented it
(for wine) out of interest to see how things were done. I am happy to try to
do the same for d3d9, and would prefer approach (1). I have a few concerns
though - Mostly I havent done enough research to know if its possible, and I
may end up having a shared library with 2 implementations anyway... I havent
found any major stumbling block yet, but I havent researched it far enough
either.

My other concern is if I start doing it and have to give up due to work or
other pressures, I could leave a half migrated setup. I assume its
relavitevly easy with cvs to back out changes if this occurs, and I hope it
wont, but it is a concern.

I'd appreciate thoughts before I start (especially Lionels, AJ's etc) - I'm
only just getting back into wine programming again hence my interest.

Jason





More information about the wine-devel mailing list