This includes fixes from https://gitlab.winehq.org/wine/wine/-/merge_requests/2318 and https://gitlab.winehq.org/wine/wine/-/merge_requests/2319. The only nulldrv specific todo_wine that are added are for imm32 related tests, as we don't have a default IME implementation (and in order to eventually have one, I think we would need to write more tests with an actual IME module, so related to https://gitlab.winehq.org/wine/wine/-/merge_requests/2221 and https://gitlab.winehq.org/wine/wine/-/merge_requests/2266).
Fwiw, I also confirmed that all the tests except for the following list are passing with nulldrv driver:
d3d10core:d3d10core d3d11:d3d11 d3d8:device d3d8:visual d3d9:d3d9ex d3d9:device d3d9:visual amstream comctl32 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 d3drm d3dx9_36 ddraw dxdiagn dxgi dxva2 evr gdi32 imm32 mf mfplat mfreadwrite opengl32 quartz vulkan-1 winmm
Most of the time this is because of the tests not able to create D3D device, or for imm32 case, because of the missing default IME implementation.