Project

General

Profile

Emulator Issues #10525

Dark rectangle in Mario Kart Wii in D3D

Added by DolphinZocker about 4 years ago. Updated about 4 years ago.

Status:
Working as intended
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Game Name?
Mario Kart Wii

Game ID?
RMCP01

MD5 Hash?
f149e293249aea30decf77c9d5604d29

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
Screenshot attached

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

RMCP01-1.png (2.02 MB) RMCP01-1.png DolphinZocker, 09/06/2017 08:31 PM
windows_10_ati_radeon_hd_5870_dxdiag.png (30.8 KB) windows_10_ati_radeon_hd_5870_dxdiag.png DolphinZocker, 09/10/2017 01:48 AM
6322
6336

Related issues

Has duplicate Emulator - Emulator Issues #10526: Grey box is on screen during some racesDuplicate

Has duplicate Emulator - Emulator Issues #10618: Black rectangle in Mario Kart WiiDuplicate

History

#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.

#2 Updated by JosJuice about 4 years ago

#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.

#4 Updated by JMC4789 about 4 years ago

You'd have to convince stenzek (or another GPU dev) to make a really nasty, complicated hack.

If Microsoft doesn't support the older Operating System... should we?

#5 Updated by DolphinZocker about 4 years ago

Microsoft does support Windows 7 until 2020, but independent thereof, my card does probably not support D3D 11.1. So if i would have Win 10, it wouldn't work anyway.

#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".

#8 Updated by Helios about 4 years ago

I'm considering that idea. We did something similar for bounding box emulation back when you needed a fairly modern GPU for it to work.

#9 Updated by JMC4789 about 4 years ago

I wonder if there's a way to do a fallback like that...

#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.

#11 Updated by JosJuice about 4 years ago

DolphinZocker wrote:

Does Mario Kart Wii run correct with D3D on Win 10? Can somebody confirm that?

I've confirmed it.

#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.

@Stenzek
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

6336

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!

#14 Updated by Stenzek almost 4 years ago

Also available in: Atom PDF