Emulator Issues #6503
closedNvidia DX11 - Real XFB "macroblocking"
0%
Description
Real XFB shows an odd visual error in the D3D backends. I've called it "macroblocking" because, well, that's what it looks like. I tried a large number of settings, such as higher internal resolution, force texture filtering, safe texture cache, various anistropic filtering settings, on and on; nothing seems to affect it. The only cure is OpenGL: it doesn't have the problem, before or after the GLSL rewrite.
All games are affected, but I'll use Super Smash Brothers Brawl (RSBE01) to demonstrate it, as it's menus make it very obvious. To reproduce, do two tests, one with XFB: Real and one XFB disabled. Make sure the internal resolution is set to 1x in both cases to minimize outside factors in the test (it doesn't have any effect really).
Super Smash Bros. Brawl 1x Native Comparison
XFB Real (the problem) - http://img706.imageshack.us/img706/3644/cz92.png
XFB Disabled (correct) - http://img692.imageshack.us/img692/3503/qtnu.png
XFB Virtual does not have the error, and behaves the same as XFB Disabled here.
Tested builds:
3.5 win64
3.5-1720 win64
3.5-1810 win64
Tested on:
Core i5 3570K @ 4.7ghz
nVidia GeForce GTX 760
Windows 7 x64
Reproduced in the past by SS and double checked just now by JMC4789. Marking it as accepted.
Updated by delroth over 11 years ago
- Priority set to Normal
Looks like some filtering is missing when blitting the XFB.
Updated by MayImilae over 11 years ago
- Operating system N/A added
- Operating system deleted (
Windows)
I found another odd behavior. Higher internal resolutions seem to greatly improve in D3D11, to almost the same quality as 1x native on OpenGL (but doesn't fix it, there are still some odd artifacts, see under the X in "Group"). But higher internal resolutions makes OpenGL as bad as the others, to the point that D3D9 and OpenGL appear to be almost the same.
D3D11 Real XFB 4x Native - http://img694.imageshack.us/img694/2830/3zj.png
OpenGL Real XFB 4x Native - http://img94.imageshack.us/img94/7624/2cp5.png
D3D9 Real XFB 4x Native - http://img543.imageshack.us/img543/5003/sm7l.png
So yea, it appears OpenGL is affected as well, just under different circumstances.
Sorry I didn't check this. >_< I tested everything BUT this. That's what I get for making an issue report before bed.
Updated by kostamarino over 11 years ago
See Issue 5738 which is probably the same, there was a patch submitted there about it too...
Updated by MayImilae over 11 years ago
I saw it before making this issue, and it doesn't seem the same to me. It's all about antialiasing and stuff. If they are the same thing, then that report is terribly written lol.
Updated by kostamarino over 11 years ago
Thanks, i wrote it :-p. Believe me it is the same + antialiasing for real xfb that works only with opengl. I just thought the problem was an unfiltered image back then or something and i wrote it like that since it was apparent for 2d elements as well. I am not a programmer btw, just a hobbyist, therefore i suck at terminology...
See the result with the patch that guy posted...
(both DX9, 1xIR, EFB to RAM, real XFB):
b0rken: http://s8.postimage.org/4h7fl3unp/RMCE01_4.png
patched: http://s13.postimage.org/twwndgqnb/RMCE01_5.png
Updated by MayImilae over 11 years ago
I showed that patch to the devs. They weren't very enthusiastic.
(4:26:28 PM) phire: I'm not sure about the way its playing with floating point error
(4:27:24 PM) neobrain: it's wrong
Well, the two issues do appear to be the same problem. But uh, no offense or anything, but I think the approach in this report is better for this bug. It just focuses on what it's doing and describing it as accurately as possible. So I'd prefer it not be merged into the old problem...
Updated by phire about 11 years ago
This is now fixed on OpenGL as of rb5bd2ba84756 aka 4.0-425
Now a DirectX 11 only bug.
Updated by MayImilae over 10 years ago
Issue 7507 has been merged into this issue.
Updated by MayImilae over 10 years ago
jimbo1qaz and JMC47 have confirmed that this is an nvidia only issue. It does not occur on Radeons.
Updated by MayImilae over 10 years ago
- Status changed from New to Fix pending
Fixed in PR#700 -> https://github.com/dolphin-emu/dolphin/pull/700
Updated by MayImilae over 10 years ago
- Status changed from Fix pending to Fixed
Fixed by 4.0-2374 -> https://dolphin-emu.org/download/dev/7e83a0ea9be49abee3a4c8a2e953ca0905271434/