[Mono-dev] Managed DirectX
stefandoesinger at gmx.at
Thu Oct 26 04:30:27 EDT 2006
> 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
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
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