Emulator Issues #6483
closedD3D11 + XFB Real = weird green box with fullscreen
Added by nigel.harris.uk over 11 years ago.
0%
Description
What went wrong?
Use D3D11 backend with XFB set to real and this happens on full screen:
http://i.imgur.com/Os2XHmk.jpg
occurs whether in 4:3 or forced 16:9.
What did you expect to happen?
Not to have a green box around the full screened image:
http://i.imgur.com/gFJRoYU.jpg
What steps will reproduce the problem?
Dolphin 3.5 stable to 3.5-1755
Use D3D11 backend
Use XFB Real
GTX780
Windows 7 64
Disabling XFB or set XFB to virtual to fix issue.
Issue is not present in D3D9 / OGL.
Updated by nigel.harris.uk over 11 years ago
please flick back and forth between the two imagur links to see the green box clearly.
Updated by idan345 over 11 years ago
I can confirm It's present in my computer aswell.
Kinda hard to notice. but it's there.
Updated by MayImilae over 11 years ago
- Status changed from New to Accepted
- Issue type set to Bug
- Category set to gfx
- Priority set to Low
XFB Real has a bunch of known weird issues. So far no one has cared to deal with them.
Anyway, reproduced. If there was a "who the hell cares" priority I'd use it. XFB Real has serious problems and you're pointing out a green 1px border?
Updated by NeoBrainX over 11 years ago
The problem outlined here is fixed in limburgerite's fork, iirc: http://code.google.com/r/limburgerite-dolphin-emu/source/list?name=xfb-fixes
Updated by limburgerite about 11 years ago
Sorry for being MIA for so long.
See
http://code.google.com/r/limburgerite-dolphin-emu/source/browse/Source/Plugins/Plugin_VideoDX11/Src/Television.cpp?r=9d7a6d45985a#93
for an explanation of the issue and how I fixed it.
Updated by NeoBrainX about 11 years ago
- Status changed from Accepted to Work started
- Milestone set to Next
- Operating system N/A added
@ limburgerite: You're still welcome to tidy up your other fixes and create pull requests for them ;)
Updated by limburgerite about 11 years ago
@ NeoBrainX: I'm working on giving each fix its own branch, hopefully with fewer ZOMG I'M SO ST00PID commits.
In the meantime, I've made a cleaned-up fix for this issue:
http://code.google.com/r/limburgerite-dolphin-emu/source/detail?name=issue-6483&r=6ca1410bab4d34e7cff96c295d3d09934f7dec31
It's a pretty simple change that only affects Television.cpp/.h. Should I create a pull request for this specific commit?
Updated by phire about 11 years ago
The background is only filled in during initialization.
Will there be issues if a game starts with a 640 wide xfb and drops down to a smaller one later?
I don't know if any games do that.
Otherwise, looks fine to me.
Updated by limburgerite about 11 years ago
I thought about the XFB size shrinking, but never saw any problems in my testing (the border would probably contain garbage instead of green in that case).
Perhaps there's some way to monitor size changes and clear out the unused area if it shrinks? Might be more trouble than it's worth.
Updated by delroth about 11 years ago
- Milestone changed from Next to Current
4.0 was released, moving Milestone-Next to Milestone-Current.
Updated by NeoBrainX about 11 years ago
@ limburgerite: I don't think a PR is necessary for that patch. Just one thing: Instead of using UpdateSubresource, ID3D11Device::CreateTexture2D allows you to specify initial texture data with the second parameter (cf. http://msdn.microsoft.com/de-de/library/windows/desktop/ff476521%28v=vs.85%29.aspx ). Could you change your patch to do that? Apart from that it should be fine for merging.
Updated by limburgerite about 11 years ago
@ NeoBrainX: Done, updated fix is here:
http://code.google.com/r/limburgerite-dolphin-emu/source/detail?r=f4495ec7a4948ae158abe86ac70e776b9ef00068&name=issue-6483
Updated by NeoBrainX about 11 years ago
"// is actually two green pixels - YCbCr black is 16,128,16,128)" Is that supposed to be ARGB or RGBA or .. ?
Updated by limburgerite about 11 years ago
That line should probably read:
// is actually two green YUYV pixels - YUYV black is 16,128,16,128
YCbCr black is technically 16,128,128 (y,u,v)
Too bad DXGI_FORMAT_YUY2 is only supported in Window 8...
Updated by NeoBrainX about 11 years ago
Right, I misunderstood the point of that comment. It makes sense now. I'll be pushing it in a minute with your new comment.
Updated by NeoBrainX about 11 years ago
Wait, should it be YUVY in the comment above that line as well?
// (remember, the XFB is being interpreted as YCbCr, and 0,0,0,0
Updated by limburgerite about 11 years ago
Yes, actually I just updated all the references to YUYV. I can push an updated version in a couple of minutes if you want to wait.
Updated by NeoBrainX about 11 years ago
Yes, that would be nicer than me missing some reference and messing up everything :)
Updated by limburgerite about 11 years ago
I think we have a winner:
http://code.google.com/r/limburgerite-dolphin-emu/source/detail?r=6c33ce20b2be7aa94e7152bfe016e2e9a3743fee&name=issue-6483
Comments should be a bit clearer now about what the fix is doing.
Would've done this sooner but Google Code seems to be having an episode at the moment.
Updated by NeoBrainX about 11 years ago
- Status changed from Work started to Fixed
This issue was closed by revision 649fd3d95b01.
Updated by comexk about 11 years ago
This issue was closed by revision 649fd3d95b01.
Updated by comexk about 11 years ago
This issue was closed by revision 649fd3d95b01.