Emulator Issues #10525
Dark rectangle in Mario Kart Wii in D3D
Mario Kart Wii
What's the problem? Describe what went wrong.
A black rectangle is show in the top left corner in D3D. In OGL there is no black rectangle.
The issues does occure since 5.0-5400. In 5.0-5395 the problem does not occure.
If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible. Screenshots showing what it is supposed to look like from either console or older builds of
Dolphin will help too. For more information on how to use the fifoplayer, please check here: https://wiki.dolphin-emu.org/index.php?title=FifoPlayer
Fifo log: https://www.file-upload.net/download-12697305/mario_kart_wii_black_rectangle.dff.html
What are your PC specifications? (CPU, GPU, Operating System, more)
i7-3770K, Windows 7 64-Bit, ATI Radeon HD 5870, used D3D with ubershaders in hybrid mode
#1 Updated by Stenzek about 4 years ago
- Status changed from New to Working as intended
This is working as intended.
To support logic op accurately in D3D, we need to use a feature that is only available in D3D11.1 and WDDM 1.2. This is not supported on Windows 7. It may also be your GPU/driver, I'm also not sure if the HD5xxx series supports D3D11.1/WDDM1.2.
The old method was inaccurate and while it may have worked in some games, it broke completely in others. For example, https://bugs.dolphin-emu.org/issues/10513, f-zero, and a few others.
#3 Updated by DolphinZocker about 4 years ago
So you will say, that i no longer can play Mario Mart Wii with the latest Dev Builds on Win 7 with D3D? Sounds a little bit excessive. My Video Card is bad with OGL, and as you right mentioned, my card will not support D3D 11.1.
Could you not make a hack for Win 7 Users and D3D 11 only users who can use the old inaccurate logic op? For example Skip EFB Access from CPU is inaccurate too, but for perfomance reasons its good to enable that option.
#6 Updated by Helios about 4 years ago
If your card does not support D3D 11.1, then you need to upgrade your GPU.
Microsoft chose not to implement a D3D11 feature into Windows 7. There isn't much we can do about that beyond an ugly hack that would make the code less maintainable, and less accurate, which many of us, including the graphics devs who actually have to deal with this, are against.
#7 Updated by DolphinZocker about 4 years ago
I think, there will be much people with video cards which maximum support D3D 11.
Does Mario Kart Wii run correct with D3D on Win 10? Can somebody confirm that?
Maybe Microsoft has some Workaround on Win 10 for video cards which only support D3D 11, and it will function, i will test that, but Dolphin should give a warning, that win 7 is no longer supported and cards which doesn't support D3D 11.1 are no longer supported too. Otherwise, many bugs could be reported which are no "real bugs".
#10 Updated by Stenzek about 4 years ago
Win7/D3D11.0 cards are not "no longer supported". Games that don't require logic op will work perfectly fine on Windows 7, and D3D is not the only backend we offer. It's the same with early-z/bounding box as Helios said, games that don't require it will work fine on D3D10-level GPUs, but any games which do will break. A warning message is actually logged to the console if you enable the video channel.
As I stated before, the hack that previously made this "work" was incredibly inaccurate, and even if I had kept it around as part of the logicop PR, it would have been dropped as part of unifying/simplifying our video backends. Furthermore, any AMD (GCN) GPU from the last 5 years should support Vulkan, and can use our Vulkan backend. At some point we have to drop support for older hardware, especially when it becomes a maintenance burden.
I know it's not ideal, but if you must use D3D with MKWii, older builds are always an option.
#12 Updated by DolphinZocker about 4 years ago
@JosJuice Thanks for testing. I will upgrade to Win 10 and will test my D3D 11 Card.
Ok you are right. I did miss the other backends. Does a game report if it is using logic op? If so, dolphin can then show a warning, if somebody uses Windows 7 or has a video card which is only supporting D3D 10 or 11. The warning could tell then, that the solution can be to use another backend.
My Video Card is from 2009 and doesn't support Vulkan, but i'm really satisfied with that card and have no reason to upgrade it. I think a lot of people did using old video cards, when i read, that many users can only support 2xIR.
OGL is an option for me, but it wouldn't deliver the same perfomance as with D3D.
#13 Updated by DolphinZocker about 4 years ago
Hi, I just upgraded to Windows 10 and it really works now without problems! I'm now using D3D 11.2 and WDDM 1.3. I attached a screenshot of dxdiag. Thanks for your patient and thanks Stenzek that you stayed so consistent! So Windows 7 users who want to use D3D should really upgrade to Windows 10 if they want to use D3D without errors. That could really be a hint in Dolphin if a user choose D3D in Windows 7.
Thanks again, that it is now working!