d3ddd96cee
Make sure m_prev_efb_format is initilized
2023-02-09 18:36:20 +13:00
59a4b026f6
Better documentation for HookableEvent.
2023-02-09 18:36:20 +13:00
8c8bd0e7ac
Rename to HookableEvent. Because naming conflict
2023-02-09 18:36:20 +13:00
60f2b5af7b
Apply suggestions from code review
...
Co-authored-by: Mai <mathew1800@gmail.com >
Co-authored-by: BhaaL <bhaalsen@gmail.com >
Co-authored-by: iwubcode <iwubcode@users.noreply.github.com >
2023-02-09 18:36:20 +13:00
e0a1631659
Add comment about "end of frame"
2023-02-09 18:36:20 +13:00
43b6a49012
Apply suggestions from code review
...
Co-authored-by: Mai <mathew1800@gmail.com >
2023-02-09 18:36:20 +13:00
05fad53fa0
Update STATE_VERSION
...
Co-authored-by: BhaaL <bhaalsen@gmail.com >
2023-02-09 18:36:20 +13:00
e2de281897
Make sure pixel shaders pick up Initial EFB Scale
2023-02-09 18:36:20 +13:00
cf9a6f8477
Lint fixes
2023-02-09 18:36:20 +13:00
f7ad825736
fix fbdev
2023-02-09 18:36:20 +13:00
628af9d564
Fix builds with FFMPEG disabled
2023-02-09 18:36:20 +13:00
4422af1272
Cleanup headers
2023-02-09 18:36:20 +13:00
5803786beb
Move UseVertexDepthRange() out of Renderer
...
There wasn't really a good place for it, but this will do
2023-02-09 18:36:20 +13:00
2cfc02a116
Move m_prev_efb_format into FramebufferManager
2023-02-09 18:36:20 +13:00
9b5397abdb
Move WidescreenHeuristic to it's own class
...
It's about the only thing left in renderer
2023-02-09 18:36:20 +13:00
31cfe8250d
Lint fixes
2023-02-09 18:36:20 +13:00
11de923dcb
Move xfb tracking and IR scaling out of RenderBase
2023-02-09 18:36:20 +13:00
e009002411
Refactor ClearRegion
...
And fix bug where opengl was getting the wrong coordinates
2023-02-09 18:36:20 +13:00
b753641dd4
Add some descriptions to new classes
2023-01-31 19:41:24 +13:00
abfc75f362
Cleanup headers
2023-01-31 19:41:24 +13:00
ec8f46b02c
Expose Renderer's Framecount
...
We don't want to move it, because we want to complete
this refactor without changing savestate version
2023-01-31 19:41:24 +13:00
3be63221c7
Renderer still needs to track swaps for savestates
2023-01-31 19:41:24 +13:00
3ae78b8e76
Also use events for config changed
2023-01-31 19:41:24 +13:00
0da69055d9
Split out everying remaining from Swap
2023-01-31 19:41:24 +13:00
2a18b34a73
Wire up frame before/after events
2023-01-31 19:41:24 +13:00
154cb4f722
Introduce an Event system to VideoCommon
...
A lot of the remaining complexity in Renderer is the massive Swap function
which tries to handle a bunch of FrameBegin/FrameEnd events.
Rather than create a new place for it. This event system will try
to distribute it all over the place
2023-01-31 19:41:24 +13:00
d6cd8de1a7
Delete unused EFBHasAlphaChannel function
2023-01-31 19:41:24 +13:00
9d125a6e43
Move ConfigChanged out of RenderBase
...
There is this nice VideoConfig file that's perfect for it
2023-01-31 19:41:24 +13:00
ca5ec13e13
Move GraphicsMod out of RenderBase
2023-01-31 19:41:24 +13:00
55d15bdd6e
Move utiltily drawing out of RenderBase
2023-01-31 19:41:24 +13:00
99d3e489ea
Move BoundingBox out of RenderBase
...
They were essentially just pass-though methods
2023-01-31 19:41:24 +13:00
35a69cb1bb
Fix missing include
2023-01-31 19:41:24 +13:00
8ad59f8ccf
Add AbstractGfx for DX12
2023-01-31 19:41:24 +13:00
5a2d119bda
Implement AbstractGfx for Dx11
2023-01-31 19:41:24 +13:00
8bc8e43dd6
Add virtual Initialize() to PerfQueryBase
...
Both DX12 and Vulkan already had one.
2023-01-31 19:41:24 +13:00
3c73707dfe
Fix dead code.
2023-01-31 19:41:24 +13:00
eaae5b4a45
Implement AbstactGfx for Metal
2023-01-31 19:41:24 +13:00
89d9ec0a84
Fix warning
2023-01-31 19:41:24 +13:00
b007b8e104
Replace BeginUI/EndUI
2023-01-31 19:41:24 +13:00
18c799f0b6
Present: Set surface info before initializing ImGui
...
Otherwise you get subtle bugs in vulkan that take hours to track down.
2023-01-31 19:41:24 +13:00
06ae08ca8b
Fix misnamed local variable
2023-01-31 19:41:24 +13:00
f158ff300b
Handle VideoSoftware's present fallback better
...
Not a good idea to abuse bSupportsPostProcessing
2023-01-31 19:41:24 +13:00
26e00c3bb4
Fix warning about using & with bools
2023-01-31 19:41:23 +13:00
74d3b3443a
Fix warning about compare sign mismatch
2023-01-31 19:41:23 +13:00
8f5b196019
Minimise include polution from RenderState
2023-01-31 19:41:23 +13:00
2a2014af09
Implement AbstractGfx for Vulkan
2023-01-31 19:41:23 +13:00
58b70b2fb2
Don't set common globals from Video Backends
2023-01-31 19:41:23 +13:00
d37f83ffeb
Implement AbstractGfx for Software & Null
2023-01-31 19:41:23 +13:00
f0336a3129
Implement AbstractGfx for OpenGL
...
Mostly involves moving contents of OGLRender
to OGLGfx and OGLConfig
2023-01-31 18:46:04 +13:00
8a23629345
Split AbstractGfx out of Renderer
...
Almost all the virtual functions in Renderer are part of dolphin's
"graphics api abstraction layer", which has slowly formed over the
last decade or two.
Most of the work was done previously with the introduction of the
various "AbstractX" classes, associated with texture cache cleanups
and implementation of newer graphics APIs (Direct3D 12, Vulkan, Metal).
We are simply taking the last step and yeeting these functions out
of Renderer.
This "AbstractGfx" class is now completely agnostic of any details
from the flipper/hollywood GPU we are emulating, though somewhat
specialized.
(Will not build, this commit only contains changes outside VideoBackends)
2023-01-31 18:46:02 +13:00