Visual Studio project to compile the d3d code

Stefan Dösinger stefandoesinger at gmx.at
Thu Jul 7 18:46:40 CDT 2011


Hi,

After two people told me they might have use for my Visual Studio setup to 
compile wined3d I finally got around to put it on my git server. You can 
download it with

GIT_SSL_NO_VERIFY=1 git clone https://84.112.174.163/~git/wined3d_vs

What is this good for? My aims were to have Microsoft-Style debug symbols to 
use various Windows development tools. The also aim was to to work without 
Mingw, Msys or any other Unix tool besides git, mostly because mingw+msys is a 
pain.

It performs an out-of-tree build of ddraw, d3d8, d3d9, the tests, wined3d and 
a few dependencies. Just put the files next to the wine sources, the project 
essentially loads the source files from ../wine/*. I also have d3dx9_36.dll in 
the project, but it doesn't link at the moment because d3dcompiler.dll is 
missing and some math functions. The testlist.c files for the tests cannot be 
autogenerated yet.

The main issue is that this project is a stripped-down reimplementation of the 
wine build system. The source files and library exports are hardcoded, so if 
they change the msvc project needs manual adjustments. It would be much nicer 
to use the msvcmaker script for that, but I wasn't aware of this script when I 
started this.

No additional software besides Visual Studio 2010 is needed, except for 
d3dx9_36 which needs the DirectX SDK. I just noticed that the d3d8 tests 
hardcode a path to the SDK sdk too, that is a bug that I can fix. I tried to 
compile the tests and d3d client libs with the MS headers to test our header 
compatibility but ran into some difficulties. The generated binaries also have 
no dependencies except the msvc2010 C runtime(msvcr100.dll)

One word about licensing: I didn't find any obstacles that prevent personal 
use of MSVC Express, but please double-check the EULAs. Redistribution of 
Microsoft code is a problem however. The project setup doesn't deliberately 
include any MS code in the binaries, but it is possible that some functions 
from the C runtime is inlined, so to stay on the safe side I don't 
redistribute any binaries built from Visual Studio.

There are a bunch of warnings left in the code. I fixed the warnings in 
wined3d.dll, d3d8.dll, d3d9.dll and the d3d8 tests, or silenced some warnings 
that I considered too pedantic or hard to fix. ddraw.dll, the ddraw tests and 
d3dx9 and the d3d9 tests have a number of legitimate warnings left.

Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20110708/dde98108/attachment.pgp>


More information about the wine-devel mailing list