<div dir="ltr">Hi Chris<div><br></div><div>Just a quick note for any Gentoo users - I've added these alternative sources into the FireBurn overlay</div><div><br></div><div>You just need to set the nine use flag and you'll get Chris's versions</div>

<div><br></div><div>Cheers</div><div><br></div><div>Mike</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 16 July 2013 19:43, Christoph Bumiller <span dir="ltr"><<a href="mailto:e0425955@student.tuwien.ac.at" target="_blank">e0425955@student.tuwien.ac.at</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">So, about two months ago I had the insane idea to pick up Joakim<br>
Sindholt's Direct3D 9 state tracker that he'd started about 3 years ago<br>
with the goal to make it run StarCraft 2 so I could finally play at a<br>
reasonable frame rate ...<br>
<br>
With help from Joakim and advice from the wine developers, as well as<br>
wine's d3d9 tests, things went surprisingly smooth and my original goal<br>
has been achieved and surpassed, hence I thought I'd post a note here in<br>
case someone who doesn't yet know about it is interested in trying it out.<br>
<br>
... Now wait, didn't we have a D3D10/11 state tracker already that we<br>
kicked out because it was unmaintained and not really useful ?<br>
Yes, but there are a couple of differences to d3d1x:<br>
<br>
- the original author has not vanished [yet] (Luca, if you can hear me:<br>
You cannot leave your children out to die like that !)<br>
- it's written in C instead of C++ and not relying on horrific multiple<br>
inheritance with templates hacks to make gcc generate COM-compatible<br>
vtables (and I'm still not sure if that actually worked)<br>
- gallium wasn't ready for D3D11, and still isn't (at least the pipe<br>
drivers aren't), but it is ready for D3D9, and all the features required<br>
from the pipe drivers are well tested via OpenGL<br>
- there are no motivating applications using Direct3D 10/11 yet (at<br>
least for me)<br>
- and most importantly, contrary to d3d1x, d3d9/st already actually<br>
works for real applications !<br>
<br>
So far I've tried Skyrim, Civilization 5, Anno 1404 and StarCraft 2 on<br>
the nvc0 and r600g drivers, which work pretty well, at up to x2 the fps<br>
I get with wined3d (NOTE: no thorough benchmarking done yet).<br>
Civilization 4 works, too, but it still has a couple of (not too severe)<br>
rendering issues because I didn't pay much attention to the fixed<br>
function pipeline and its interaction with the earlier shader versions yet.<br>
<br>
If people think it's a good idea to merge it, I'd clean up the few<br>
modifications I did to gallium, and, once they've been cleared, merge<br>
the state tracker itself.<br>
Unfortunately, for proper window system integration, a few modifications<br>
to wine are required (it used to run without them, but fully correct<br>
operation isn't possible like that).<br>
<br>
Here's the links to the mesa branch containing the state tracker and to<br>
a patched version of wine:<br>
<a href="https://github.com/chrisbmr/Mesa-3D/tree/gallium-nine" target="_blank">https://github.com/chrisbmr/Mesa-3D/tree/gallium-nine</a><br>
<a href="https://github.com/chrisbmr/wine/tree/d3dadapter9-wip" target="_blank">https://github.com/chrisbmr/wine/tree/d3dadapter9-wip</a><br>
(The wine modifications only affect { <a href="http://d3d9.dll.so" target="_blank">d3d9.dll.so</a>, <a href="http://gdi32.dll.so" target="_blank">gdi32.dll.so</a>,<br>
<a href="http://user32.dll.so" target="_blank">user32.dll.so</a>, <a href="http://wineps.drv.so" target="_blank">wineps.drv.so</a> and <a href="http://winex11.drv.so" target="_blank">winex11.drv.so</a> }, so you don't have to<br>


replace all of it).<br>
<br>
Some usage hints:<br>
<a href="https://github.com/chrisbmr/Mesa-3D/blob/gallium-nine/src/gallium/state_trackers/nine/README" target="_blank">https://github.com/chrisbmr/Mesa-3D/blob/gallium-nine/src/gallium/state_trackers/nine/README</a><br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote></div><br></div>