GS: Replace separate HW renderers with single shared renderer#5138
GS: Replace separate HW renderers with single shared renderer#5138lightningterror merged 6 commits intoPCSX2:masterfrom
Conversation
6de9a29 to
0c21e8e
Compare
|
Code-wise looks fine to me, of course pending testing and bug fixing (if any) :) |
|
Sly 2, Mission impossible, Crash twinsanity shadows are broken on gl, I'd check fbmask/colclip interaction. |
|
Channel shuffle on GT4 seems also pretty broken, both renderers. |
|
CS on terminator too. |
0c21e8e to
89a0815
Compare
|
OpenGL-only issues should be fixed, it was me not properly incorporating the BlitRect change I couldn't see any difference for the GT4 one, can you tell me what I'm supposed to be looking for? |
89a0815 to
dcae08d
Compare
|
Okay everything's fixed |
|
And a warning to be taken care of. https://github.com/PCSX2/pcsx2/runs/4559268130?check_suite_focus=true#step:9:675 |
Even if DX11 doesn't support all modes we can just use the ones it does support from the enum
dcae08d to
3d49619
Compare
It has a lot of work to do for its fancier return value
3d49619 to
867105c
Compare
JordanTheToaster
left a comment
There was a problem hiding this comment.
All good on my collection.
There was a problem hiding this comment.
Dithering looks a bit wrong on dx11, feels like the dither matrix is wrong that we receive in shader, difference is a bit harder to spot but it's there.
edit: dither matrix is different between renderers so that could also be worth a check.
(rename to .7zip)
Castlevania_shadows.zip
lightningterror
left a comment
There was a problem hiding this comment.
Aside from the dithering issue, which will be fixed in a follow up commit all other dumps I tested seem fine.
Merge time.
Description of Changes
Replaces GSRendererOGL and GSRendererDX11 with one shared GSRendererNew and a new RenderHW virtual method on GSDevice
Rationale behind Changes
Suggested Testing Steps
Please test DX11 and OGL renderers for regressions, I'm sure I accidentally broke stuff
Future Changes
I want to delay this to give time for any existing forks of PCSX2 that have other renderers to migrate to the new interface and PR fixes for any issues that pop up in the process. Any existing GSRendererHW subclasses should continue to work until this is carried out.