Hi,
I intend to participate in the Google Summer of Code (again), so I'd like to bounce some ideas off of you guys again. (I don't know why; I'll probably end up doing an extension of last year's project that I did for LLVM. But just in case...) I know that students are supposed to start submitting their proposals tomorrow, but better late than never, I guess. Anyway, here are my ideas (in no particular order):
1. Quartz Driver. I know you guys rejected this last year, but it looks like AJ's been doing some work refactoring the driver interface (at least, the GDI driver interface) lately. I also have some patches to isolate the rest of Wine from winex11. Since the driver itself is so huge, I'll probably end up only doing a piece of it (just enough to run some simple programs like Notepad or Minesweeper). This still depends on my (as yet, unfinished) Deobjectivizer tool so I don't have to code the driver in Objective-C (or resort to Carbon, which Apple seems intent on exorcising from Mac OS X). 2. D3D10 support. Here's an idea that isn't tied to Mac OS X. In Wine, D3D10 support is still in the embryonic stage (i.e. lots of stubs, anything interesting doesn't work quite right). It looks like Henri wants to wait until he finishes exorcising COM from WineD3D to finish implementing D3D10 (probably because COM was too much of a burden for what D3D10 needed from WineD3D, judging from which methods are stubs), so if you want to wait, that's fine. If I do take this on, my goal will probably be to get the game "Civilization V" working (at least, partially) in D3D10 mode, because that's the only D3D10 game I happen to own! (If it already works, and I don't know if it does because I haven't gotten around to installing and testing it, then I'll try to make it work better.) 3. Message-mode pipes. I think we can use the sendmsg(2) and recvmsg(2) syscalls to implement this on top of Unix-domain sockets. Then again, I suspect that this was one of the first things AJ thought of--and he hasn't been able to figure out how to do it yet! I have some experience writing Mac OS X kernel extensions (I wrote the SCSI kexts that Wine on Mac uses), and even a little experience writing Linux modules, so that might help with that. I would like to avoid a kernel module, if possible, though. (It's just one more thing that users have to install to make the system work...)
What do you think?
Chip
On Mon, Mar 28, 2011 at 12:53 AM, Charles Davis cdavis@mymail.mines.edu wrote:
- D3D10 support. Here's an idea that isn't tied to Mac OS X. In Wine,
D3D10 support is still in the embryonic stage (i.e. lots of stubs, anything interesting doesn't work quite right). It looks like Henri wants to wait until he finishes exorcising COM from WineD3D to finish implementing D3D10 (probably because COM was too much of a burden for what D3D10 needed from WineD3D, judging from which methods are stubs), so if you want to wait, that's fine. If I do take this on, my goal will probably be to get the game "Civilization V" working (at least, partially) in D3D10 mode, because that's the only D3D10 game I happen to own! (If it already works, and I don't know if it does because I haven't gotten around to installing and testing it, then I'll try to make it work better.)
If you want another app to work with, the World of Warcraft trial can be an excellent start. The game works almost flawlessly in d3d9 now, and pretty much all of the d3d10 usage is identical.
Best of luck!
J. Leclanche
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 28.03.2011 um 02:26 schrieb Jerome Leclanche:
If you want another app to work with, the World of Warcraft trial can be an excellent start. The game works almost flawlessly in d3d9 now, and pretty much all of the d3d10 usage is identical.
I'm not sure if d3d10 is used by WoW. WoW doesn't allow you to set high liquid detail level(and others), but that's not because it needs d3d10, it is needed because the Windows driver version we report is outdated and needs updating.
On Mon, Mar 28, 2011 at 9:33 AM, Stefan Dösinger stefandoesinger@gmx.at wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 28.03.2011 um 02:26 schrieb Jerome Leclanche:
If you want another app to work with, the World of Warcraft trial can be an excellent start. The game works almost flawlessly in d3d9 now, and pretty much all of the d3d10 usage is identical.
I'm not sure if d3d10 is used by WoW. WoW doesn't allow you to set high liquid detail level(and others), but that's not because it needs d3d10, it is needed because the Windows driver version we report is outdated and needs updating.
-----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
iQIcBAEBAgAGBQJNkEfQAAoJEN0/YqbEcdMwDKgP+wR/4PD2ztd265GlvAvIRYW8 +W31081u4/FSU8/LOJkBob6Kno0z7/1wEiNSREvyBRHER2xaGPenZJIDVt/Yq+46 3XuIc29y1DtCYo4W86vVm5CHZgP5B6Wp6bvcdwEws8sqmqOwyYHetlrwo7Cjp14r fMjpXUnoQS1EtRTR1EHKOjFcXgbuiHeBUSBD2+qYpHS2hfsFHpkSQUQg6/KOlvhp vr8ykiFUejQSxJ3pjhghvIE004Hmf6DoXKHZg79luPHTH70ax6Bef9YBV5IUylr0 ilwNHYCAkVzD12KPxEsznlMVtqSh8L/StXz+ePCMOwMM7QHhXvOP2ATwXwhkWFvr kw4dvbKYAwQcC/i0I9aWFYbOEOOJc6/GUYj2xk4OkfoiMHMxsxGxecd3nFh6Njh1 SifsEoI3WJ+0BWbhhh88JxeTr+quy7FIJH1QtyTwU17q7FRwBdBeZF2YycV9irKq E6FpIihsTJqlsWy0TVLhZK6spdN316/ZF2jZhm2HqDOXCLgekNPuExCInvYKpXIQ /EVdf9z+/zHhsYHfKqw7WktHnVIqbYZiyFZAji3QggG7TAkqw2lw7IYjG8IPNcSF zMH7A94hcqXRO8wmTXkk8FCshMb7u/MfIJOKLw8x2BeIugt3sQnJjWkNML2GWR5V aTtUT6JR3iDPyJYMOdCK =XuFJ -----END PGP SIGNATURE-----
Actually that seems to have been fixed recently (see bugs http://bugs.winehq.org/show_bug.cgi?id=26571, http://bugs.winehq.org/show_bug.cgi?id=24928).
WoW has had semi-experimental D3D10 support for a few months now, disabled by default. It uses the new APIs but offers no additional features. To enable it, you can use /console gxapi D3D10.
J. Leclanche
On 3/27/11 5:53 PM, Charles Davis wrote:
- Quartz Driver. I know you guys rejected this last year, but it looks
like AJ's been doing some work refactoring the driver interface (at least, the GDI driver interface) lately. I also have some patches to isolate the rest of Wine from winex11. Since the driver itself is so huge, I'll probably end up only doing a piece of it (just enough to run some simple programs like Notepad or Minesweeper). This still depends on my (as yet, unfinished) Deobjectivizer tool so I don't have to code the driver in Objective-C (or resort to Carbon, which Apple seems intent on exorcising from Mac OS X). 2. D3D10 support. Here's an idea that isn't tied to Mac OS X. In Wine, D3D10 support is still in the embryonic stage (i.e. lots of stubs, anything interesting doesn't work quite right). It looks like Henri wants to wait until he finishes exorcising COM from WineD3D to finish implementing D3D10 (probably because COM was too much of a burden for what D3D10 needed from WineD3D, judging from which methods are stubs), so if you want to wait, that's fine. If I do take this on, my goal will probably be to get the game "Civilization V" working (at least, partially) in D3D10 mode, because that's the only D3D10 game I happen to own! (If it already works, and I don't know if it does because I haven't gotten around to installing and testing it, then I'll try to make it work better.)
I haven't heard any real objections to these two (the third has been subsumed by someone with a much better proposal), so unless someone speaks up now, I will submit proposals tomorrow.
BTW, if I do take up the D3D10 project, I'll consider using WoW's experimental D3D10 engine (as suggested by Jerome Leclanche) to test my D3D10 implementation.
Chip