d2d9f713d forces us to create a separate wined3d_texture for texturing or RTV usage. I don't know why it was done this way instead of just continuing to allow CPU textures to be used as a texture/RTV; unfortunately neither the commit message nor the patches as submitted on wine-devel give any explanation.
Even at that point the offending Emperor texture wasn't created with any bind flags. (Despite the fact that a color fill uses an RTV, it wasn't created with WINED3D_BIND_RENDER_TARGET; we don't currently validate that.)
ee7d047dd55a forces all sysmem textures to get a draw texture. That means that the color fill acts on the draw texture instead of the sysmem texture, and the subsequent blits use ddraw_surface_get_any_texture() and hence pick the draw texture since that location is valid.
It does slightly bother me that we're reimplementing all this logic on the client side, but I guess there was a reason for doing it this way...
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4781#note_56702
MR !531 contains the rest.
--
v2: tests: Mark resource arrays as buggy on MoltenVK.
tests: Mark predicated rendering as buggy on MoltenVK.
tests: Mark streaming output as buggy on MoltenVK.
tests: Mark some sampling tests as buggy on MoltenVK.
vkd3d-shader/spirv: Specify behavior for bit field instructions.
tests: Use a uint target for rendering uint data.
vkd3d: Specify the aspect when creating NULL UAVs.
ci: Dump the d3d12 summary line in the CI log.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/532
Currently there is `NtContinue()` test only for `aarch64` so implement it for amd64 aswell.
This implementation is very similar to `aarch64` and it's very basic test.
It doesn't change/test `ContextFlags` so it won't catch https://bugs.winehq.org/show_bug.cgi?id=56050 but that can be implemented later on top of this.
--
v6: ntdll/tests: Implement test_continue() for amd64
https://gitlab.winehq.org/wine/wine/-/merge_requests/4720