Squall Leonhart wrote on 2020-09-03, 16:06:
hey Dege, do you do any DXT unpacking before uploading to the graphics card?
Only if a texture is created with auto gen-mipmap flag (D3D9). It's uploaded in unaltered form otherwise.
I don't know if the former is the case with Sims3 (btw, I didn't even know there is texture dithering... 😀 ) but it could be checked out:
enable tracing in dgVoodoo and look at Direct3DDevice9::CreateTexture calls with Format = D3DFMT_DXT1/2/3/4/5. If Usage & 0x400 is not 0 then it's the autogen-mipmap case.
If it's a problem, I think I could workaround it by replacing hw mip-level generation with my DXTC compressor from DirectDraw.
Squall Leonhart wrote on 2020-09-03, 16:06:
its a complete implementation of D3D12's 3D api's including raytracing, it does not include DirectX 12 Video (DXVA) capabilities, DirectML, or DXGI presentation capabilities specific to 8/10.
Well, yeah, that's one of the problems: the other part of modern DirectX, DXGI is completely missing in return. So, D3D12on7 doesn't support swap chains, which play an important role in dgVoodoo D3D11/12 common backend impl.
I'd have to implement dummy swapchains or the real ones on my own.
The other problem is it all can only be tested on Win7, so I'd need to install/dual boot Win7 with up-to-date drivers.
Oh, and there is no 32 bit version available.
See my earlier post:
Thanks for the links, I didn't get deep into 12On7 so far but now I did some initial experiments. I asked someone from MS D3D te […]
Show full quote
Thanks for the links, I didn't get deep into 12On7 so far but now I did some initial experiments. I asked someone from MS D3D team if they would release the 32bit version of 12on7 but it's very unlikely (they won't).
Even if they did, there'd be 2 problems with it:
- I'd need a Win7 machine with updated GPU drivers to test it at all. Win10 DX debug layer can be switched to Win7-emulation mode for developing but it only validates usage of objects that are common with 12 and 12on7. Win10 doesn't provide the 12on7 interfaces, and d3d12.dll of 12on7 cannot be used on Win10 of course.
- 12on7 cannot co-operate with the (outdated) version of win7 DXGI, so it doesn't support swapchains. Only windowed presentation is available which questions the point of dgVoodoo d3d12 over plain d3d11 on win7.
By now I think my concern about the windowed presentation is wrong, because DX12 on Win10 (with flip effect FLIP_DISCARD which is mandatory) always presents into a window too and let the desktop compositor do the rest, even in fullscreen mode (though the compositor of Win10 is more advanced).