[Mono-dev] Managed DirectX

Stefan Dösinger stefandoesinger at gmx.at
Thu Oct 26 04:30:27 EDT 2006


Hi,
> Does the library depend on the rest of Wine to run?
> 
> Am curious if it is possible to write a C program that can just call
> into these libraries directly?
>
> I mention this because Mono would be accessing the libraries by
> dlopening them, looking up the addresses of methods with dlsym and
> calling them.
Unfortunately this dll depends on Wine. The dependency is not too big, but 
needed for certain functionality, namely IWineD3DSurface::GetDC. This method 
allows applications to do normal gdi operations on d3d surfaces and the 
framebuffer. I don't know if managed dx still supports that, because GetDC a 
broken api and ms even tried to remove it from d3d8, but reintroduced it in 
d3d9

At the moment wined3d calls glx directly, but we want to change it to use our 
opengl32.dll instead and fix some opengl issues(windowed gl, glx<->agl 
abstraction) in opengl32.dll.

> And the question is whether this means that we need to run side-by-side
> with the Wine runtime, as that is currently not possible with Mono.
Maybe it is an option to copy wined3d into mono(license issues? wined3d is 
lgpl), and to sync the source code semi-automatically(a better split of 
opengl calling code and other stuff might be helpful then)

I don't know if there are any issues with opening wined3d.dll.so directly(and 
loading CreateDIBSection dynamically for getdc), but I see that every lib 
depends on libwine and I guess the other wine stuff because of things like 
ipc and thread synchronisation.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20061026/57f08a60/attachment.bin 


More information about the Mono-devel-list mailing list