On 14 December 2012 13:11, Francois Gouget fgouget@free.fr wrote:
The other thing which is strange is that I only get trouble about mixed vertex processing on Windows. On Linux CreateDevice() succeeds in either mode.
Yeah, we don't really make the difference in Wine, all we have is "hardware", although the GL driver may still end up doing vertex processing in software. The reality is that most applications expect NVIDIA or AMD hardware, and hardware vertex processing. They may or may not fallback to mixed or software if that is not available, and that fallback may or may not be broken.
About that function, by the time we try software vertex processing we've changed AutoDepthStencilFormat. Shouldn't we try more something like this pseudo-code:
for processing in HARDWARE, SOFTWARE: for format in D3DFMT_D24S8, D3DFMT_D16: if SUCCEEDED(CreateDevice()): return device;
I.e. based on my very limited recent experience it seems to me that the sticking point is more likely to be the vertex processing mode than the depth stencil format (I have confirmed that on my GMA950 CreateDevice() succeeds for the D24S8+SOFTWARE combination).
Yeah, we probably should.