On Mon Apr 15 19:04:05 2024 +0000, Elizabeth Figura wrote:
The only failing test is GetLastError() after Direct3DCreate9On12(). Do you see any indication that function is supposed to *reliably* set the last error? It's not mentioned in [1], and it'd be the first time I've ever seen a d3d API work that way. [1] https://microsoft.github.io/DirectX-Specs/d3d/TranslationLayerResourceIntero...
I took a look at it again and it reliably sets the last error each time it's called. I added a condition to separate the two errors. It always sets ERROR_SUCCESS when it creates a d3d9on12 object, otherwise it sets it to ERROR_TOO_MANY_POSTS, which is an odd error to set it to.
This is true for my VM and most of the testbot VMs, but not for the Windows 11 AMD nor NVIDIA ones. It looks like it's dependent on a dedicated GPU or at least a functioning GPU. It also might have been changed for Windows 11 only.