Josh
546a016dc8
VideoBackend: Make Metal Default on MacOS
2023-02-15 12:05:54 -06:00
TellowKrinkle
f25a0b43b6
VideoCommon: Fix stereoscopic 3D on OpenGL < 4.3 (macOS)
2023-02-14 18:25:33 +01:00
Pokechu22
4f6ce51d69
VideoCommon: Clear blend configuration if color/alpha update disabled
...
This works around an Intel driver bug where, on D3D12 only, dual-source blending behaves incorrectly if the second source is unused on. This bug is visible in skyboxes in Super Mario Sunshine, which first draw clouds and sun flare in greyscale and then draw the sky afterwards with a source factor of 1 and a dest factor of 1-src_color (this results in the clouds being tinted blue). This process is done on an RGB888 framebuffer, so alpha update is disabled. (Color update is enabled; note that if you look at this in Dolphin's fifo analyzer, it won't be enabled because they use the BP mask functionality to only change the blending functions and not alpha/color update, for whatever reason.)
2023-02-13 18:22:41 -08:00
Scott Mansell
1fc5d37fd2
Merge pull request #11558 from Pokechu22/vertex-loader-size-assertion-details
...
VertexLoader: Add more info to m_vertex_size == m_src_ofs assertion
2023-02-13 17:34:04 +13:00
Pokechu22
cc411c4e41
VertexLoader: Add more info to m_vertex_size == m_src_ofs assertion
2023-02-12 20:10:38 -08:00
Scott Mansell
f37113204f
Merge pull request #11550 from iwubcode/set_common_samplers_count
...
VideoCommon: add constant value for maximum number of pixel samplers
2023-02-13 16:05:51 +13:00
iwubcode
20dc4401c5
VideoCommon: pass a graphics mod base path to the graphics mod, so it can lookup other relative files if necessary
2023-02-11 00:21:40 -06:00
Admiral H. Curtiss
3c2933cad2
Merge pull request #11549 from Pokechu22/texturecachebase-bitset-include
...
TextureCacheBase: Remove unused bitset include
2023-02-10 10:55:07 +01:00
JMC47
258151fe5a
Merge pull request #11523 from degasus/OGL_KHR_subgroup
...
VideoBackend/OGL: Prefer KHR_shader_subgroup over NV_shader_thread.
2023-02-10 04:47:20 -05:00
iwubcode
af313f8419
VideoCommon: add constant value to set the allowed maximum number of pixel samplers
2023-02-10 00:46:11 -06:00
Pokechu22
3024ca2146
Suppress memcpy writing to an object with no trivial copy-assignment warnings
...
We need to copy padding in most of these cases, and the objects are trivially copyable; however, BitField prevents trivial copy-assignment.
2023-02-09 16:23:49 -08:00
Pokechu22
470115fd4f
TextureDecoder: Fix warning: array subscript has type ‘char’ [-Wchar-subscripts]
2023-02-09 16:23:02 -08:00
Pokechu22
9559c45cae
CommandProcessor: Fix shadowing warnings
2023-02-09 16:23:02 -08:00
Pokechu22
39c5d55f03
VertexLoaderBase: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
95bee485c9
GraphicsModManager: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
5283a85205
TextureCacheBase: Remove unused bitset include
...
It was used for valid_bind_points, which was removed in 88bd10cd30
(and the declaration was more recently removed in 606c18210d
).
2023-02-09 16:04:48 -08:00
JMC47
a88e5ef390
Merge pull request #11498 from iwubcode/save_pipeline_config
...
VideoCommon: store the configuration used to create the AbstractPipeline
2023-02-09 18:38:49 -05:00
Markus Wick
17d7b75a9b
Merge pull request #11544 from jmallach/spng
...
Allow building against system libspng
2023-02-09 14:47:58 +01:00
degasus
4b2aa948e6
VideoBackend/OGL: Prefer KHR_subgroup over NV_shader_thread.
...
While the NV extension is totally fine, the KHR extension should be able to support more hardware.
For NVIDIA, the hardware either supports both or neither, it just needs a driver from the last two years.
For AMD, the drivers from late 2022-12 seems to bring support for the KHR extension.
For Intel, the KHR is also supported for some years.
2023-02-09 13:27:02 +01:00
iwubcode
d0c6b6c9ed
VideoCommon: store the configuration used to create the AbstractPipeline on the pipeline itself, so that it's easy to duplicate pipelines with slightly altered configuration
2023-02-09 02:13:53 -06:00
Scott Mansell
ccf92a3e56
Merge pull request #11522 from phire/KillRendererWithFire
...
Kill Renderer (with phire)
2023-02-09 19:59:16 +13:00
Scott Mansell
5c1b3ac61d
Hook up Presenter's ConfigChanged function
...
Fixes issue with post-processing not working
2023-02-09 18:36:20 +13:00
Scott Mansell
9c1fe59cc9
Insert a more solid abstraction between Qt and Imgui
2023-02-09 18:36:20 +13:00
Scott Mansell
b2a31103b4
Presenter: Handle blanked frames correctly
2023-02-09 18:36:20 +13:00
Scott Mansell
83b7b01265
Fix XFB duplicate detection
...
Frame duplicate detection was inverted. Huge problem for 60fps games
where it would see all frames as "duplicates" and nothing would ever be
presented.
2023-02-09 18:36:20 +13:00
Scott Mansell
d3ddd96cee
Make sure m_prev_efb_format is initilized
2023-02-09 18:36:20 +13:00
Scott Mansell
8c8bd0e7ac
Rename to HookableEvent. Because naming conflict
2023-02-09 18:36:20 +13:00
Scott Mansell
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
Scott Mansell
e0a1631659
Add comment about "end of frame"
2023-02-09 18:36:20 +13:00
Scott Mansell
e2de281897
Make sure pixel shaders pick up Initial EFB Scale
2023-02-09 18:36:20 +13:00
Scott Mansell
cf9a6f8477
Lint fixes
2023-02-09 18:36:20 +13:00
Scott Mansell
628af9d564
Fix builds with FFMPEG disabled
2023-02-09 18:36:20 +13:00
Scott Mansell
4422af1272
Cleanup headers
2023-02-09 18:36:20 +13:00
Scott Mansell
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
Scott Mansell
2cfc02a116
Move m_prev_efb_format into FramebufferManager
2023-02-09 18:36:20 +13:00
Scott Mansell
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
Scott Mansell
31cfe8250d
Lint fixes
2023-02-09 18:36:20 +13:00
Scott Mansell
11de923dcb
Move xfb tracking and IR scaling out of RenderBase
2023-02-09 18:36:20 +13:00
Scott Mansell
e009002411
Refactor ClearRegion
...
And fix bug where opengl was getting the wrong coordinates
2023-02-09 18:36:20 +13:00
Jordi Mallach
4d164fcb77
Allow building against system libspng
2023-02-06 13:30:46 +01:00
Scott Mansell
e98ab0784d
Merge pull request #11501 from iwubcode/abstract_texture_load_specify_layer
...
VideoBackends: add a way to load data into a specific level AND layer
2023-02-01 00:03:59 +13:00
OatmealDome
0f037a1af8
Merge pull request #10864 from TellowKrinkle/BetterLogicBlend
...
VideoCommon: Better logic op invert approximation
2023-01-31 01:55:55 -05:00
Scott Mansell
b753641dd4
Add some descriptions to new classes
2023-01-31 19:41:24 +13:00
Scott Mansell
abfc75f362
Cleanup headers
2023-01-31 19:41:24 +13:00
Scott Mansell
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
Scott Mansell
3be63221c7
Renderer still needs to track swaps for savestates
2023-01-31 19:41:24 +13:00
Scott Mansell
3ae78b8e76
Also use events for config changed
2023-01-31 19:41:24 +13:00
Scott Mansell
0da69055d9
Split out everying remaining from Swap
2023-01-31 19:41:24 +13:00
Scott Mansell
2a18b34a73
Wire up frame before/after events
2023-01-31 19:41:24 +13:00
Scott Mansell
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