Closed bslenul closed 8 months ago
@SeventySixx While I have duct-tape 'fixed' this for now, it's obvious that there's something wrong with the D3D11 implementation vs. GL when it comes to these screen sizes -
https://github.com/libretro/pcsx2/commit/2e252a3e744674a99d4d138d498b6b659bf72d1d
Another good game to test this with is Resident Evil: Code Veronica X. With the current values on D3D11, the game will constantly flicker back and forth between two screen sizes. If I change the hardcoded values for D3D11 from 640x480 to 640x448, then at least I don't get this flickering anymore, but I still get the odd frame that is different and it seems to cause some framepacing issues.
Using the same 'ClientRect' heuristic for GL and D3D leads to D3D being broken but GL outputting fine.
Oh interesting, setting orig_h
to "448" fixes GoW FMVs (#93), they don't flicker anymore.
yeah, what I guess is going on here is that some native frames are 640x448 in width/size, while others are 640x480. Hope we are able to fix this globally without a lot of hackery going on here. There must be some kind of scaling issues going on in the D3D11 renderer in PCSX2 that isn't the case on GL.
c6acc3827571a62e9e6f4e3ae8736f4f221b9d09 introduced issues with FMVs and screen size, very similar to #93 (although for GoW, only FMVs were affected). It doesn't happen in OpenGL.
Example in 007 - Nightfire:
https://user-images.githubusercontent.com/33353403/131046707-49f7ecf6-3a25-407d-bcaa-2dfa063623de.mp4
Haven't tried all my games, but after testing ~10 of them, the only game that displayed properly so far (FMVs and ingame) was Maximo - Ghosts to Glory.