Commit Graph

38902 Commits

Author SHA1 Message Date
Scott Mansell
8bc8e43dd6 Add virtual Initialize() to PerfQueryBase
Both DX12 and Vulkan already had one.
2023-01-31 19:41:24 +13:00
Scott Mansell
3c73707dfe Fix dead code. 2023-01-31 19:41:24 +13:00
Scott Mansell
eaae5b4a45 Implement AbstactGfx for Metal 2023-01-31 19:41:24 +13:00
Scott Mansell
89d9ec0a84 Fix warning 2023-01-31 19:41:24 +13:00
Scott Mansell
b007b8e104 Replace BeginUI/EndUI 2023-01-31 19:41:24 +13:00
Scott Mansell
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
Scott Mansell
06ae08ca8b Fix misnamed local variable 2023-01-31 19:41:24 +13:00
Scott Mansell
f158ff300b Handle VideoSoftware's present fallback better
Not a good idea to abuse bSupportsPostProcessing
2023-01-31 19:41:24 +13:00
Scott Mansell
26e00c3bb4 Fix warning about using & with bools 2023-01-31 19:41:23 +13:00
Scott Mansell
74d3b3443a Fix warning about compare sign mismatch 2023-01-31 19:41:23 +13:00
Scott Mansell
8f5b196019 Minimise include polution from RenderState 2023-01-31 19:41:23 +13:00
Scott Mansell
2a2014af09 Implement AbstractGfx for Vulkan 2023-01-31 19:41:23 +13:00
Scott Mansell
58b70b2fb2 Don't set common globals from Video Backends 2023-01-31 19:41:23 +13:00
Scott Mansell
d37f83ffeb Implement AbstractGfx for Software & Null 2023-01-31 19:41:23 +13:00
Scott Mansell
f0336a3129 Implement AbstractGfx for OpenGL
Mostly involves moving contents of OGLRender
to OGLGfx and OGLConfig
2023-01-31 18:46:04 +13:00
Scott Mansell
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
Scott Mansell
e57eb04ed3 Rename FrameDump.{cpp,h} to FrameDumpFFMpeg.{cpp,h}
The name kind of conflicts with a new FrameDumper class
2023-01-31 18:45:29 +13:00
Scott Mansell
0d4537d60f Move Presenting, Dumping and ImGui out of Renderer 2023-01-31 18:45:21 +13:00
Scott Mansell
c38c76abad Refactor to remove virtual from RenderXFBToScreen
Slightly simplifies the upcoming refactor
2023-01-31 18:29:47 +13:00
Scott Mansell
a01d5283ec TextureCache: Add content locking
Texture cache occasionally mutates textures for efficiency.
Which is awkward if we want to borrow those textures from texture cache
to do something else, such as a graphics debugger, or async presentation
on another thread.

Content locking provides a way to signal that the contents of a texture
cache entry should not change. Texture cache will be forced to use
alternative strategies.
2023-01-31 18:29:47 +13:00
Scott Mansell
606c18210d TextureCache: Refactor with smart pointers
The whole ownership model was getting a bit of a mess, with a some
of special cases to deal with. And I'm planning to make it even more
complex in the future.
So here is some upfront work to convert it over to reference counted
pointers.
2023-01-31 18:29:47 +13:00
Scott Mansell
c1fd4a2013 Move TCacheEntry out of TextureCacheBase
Allows for fowards declaration
2023-01-31 18:29:47 +13:00
Pierre Bourdon
2843cd10a8
Merge pull request #11492 from mandar1jn/file-improvements
Improve the data in the first data block of the skylanders figures
2023-01-31 03:02:39 +01:00
JosJuice
c63eb75435
Merge pull request #11520 from lioncash/undefined
Common/Network: Resolve -Wexpansion-to-defined warning
2023-01-30 21:17:11 +01:00
JosJuice
43194b2742
Merge pull request #11519 from lioncash/android
AndroidCommon: Make use of std::string_view where applicable
2023-01-30 20:21:44 +01:00
Lioncash
cdd3e636e1 Common/Network: Resolve -Wexpansion-to-defined warning
Macros that expand to include the standard define macro are undefined.
This is pretty trivial to fix. We can just do the test and then define
the name itself if it's true, rather than making the set of definition
checks the macro itself.
2023-01-30 14:20:56 -05:00
JosJuice
f0b833a639
Merge pull request #11518 from t895/deprecated-setting
Android: Remove unused force filtering setting
2023-01-30 19:56:44 +01:00
Charles Lombardo
96bc0a3063 Android: Remove unused force filtering setting 2023-01-30 13:38:39 -05:00
JosJuice
65c782b3b9
Merge pull request #11517 from t895/slider-setting-adjustment
Android: Set each slider step size manually
2023-01-30 19:32:18 +01:00
Lioncash
5c1954c843 AndroidCommon: Make use of std::string_view where applicable
Several of these can take a string_view rather than needing to
specifically use std::string.
2023-01-30 13:30:52 -05:00
Charles Lombardo
26c8440ae1 Android: Set each slider step size manually 2023-01-30 13:17:02 -05:00
Admiral H. Curtiss
8960f6f07c
Merge pull request #11516 from lioncash/spans
ActionReplay/GeckoCode: Make use of std::span where applicable
2023-01-30 19:14:41 +01:00
Lioncash
f20790370a Core/ActionReplay: Make use of std::span where applicable
Generifies the interface a little by not strictly requiring the use of
std::vector.
2023-01-30 13:02:09 -05:00
Lioncash
adb4c0492d Core/GeckoCode: Make use of std::span where applicable
Generifies the interface a little by not strictly requiring the use of
std::vector.
2023-01-30 12:53:50 -05:00
Mandar1jn
c8a91abadc Improve the data in the first data block of the skylanders figures
* Added NUID
* Added BCC
* Added ATQA
* Added SAK
2023-01-30 16:29:20 +01:00
Admiral H. Curtiss
07cf8c5668
Merge pull request #11323 from iwubcode/marvel_super_hero_squad_ini
GameINI: Force safe texture cache on Marvel Super Hero Squad
2023-01-30 10:06:23 +01:00
Admiral H. Curtiss
df9ba70c35
Merge pull request #11507 from phire/Wnullablitly-completeness
Ignore nullability-completeness warnings in VMA
2023-01-30 10:03:49 +01:00
Admiral H. Curtiss
ae712c61c2
Merge pull request #11500 from iwubcode/vulkan_copy_rectangle_one_layer
VideoBackends: update Vulkan's 'CopyRectangleFromTexture' to copy one layer
2023-01-30 10:03:33 +01:00
Admiral H. Curtiss
e48424065b
Merge pull request #10839 from CasualPokePlayer/fix_sysconf_settings
Fix SYSCONF movie settings
2023-01-30 09:50:21 +01:00
Admiral H. Curtiss
1eb69ea0a0
Merge pull request #10936 from TellowKrinkle/FixIncludeDirs
CMake: Actually use the include directories specified by dependencies
2023-01-30 09:19:06 +01:00
Admiral H. Curtiss
fa1fec7d48
Merge pull request #11510 from TellowKrinkle/FmtImport
CMake: Use imported target for fmt in tests
2023-01-30 09:10:22 +01:00
Admiral H. Curtiss
071ee3d85e
Merge pull request #11512 from JosJuice/android-mem2-crash
Android: Fix crash when attempting to change MEM2 size
2023-01-30 09:07:56 +01:00
Admiral H. Curtiss
8edca2039e
Merge pull request #10947 from Zopolis4/opensleuth
Restrict OpenSLES to Android via CMake
2023-01-30 09:02:45 +01:00
Pierre Bourdon
a2f4606d33
Merge pull request #11205 from TellowKrinkle/AutoPresent
VideoBackends:Metal: Default to presentDrawable when vsync is on
2023-01-30 09:01:18 +01:00
Admiral H. Curtiss
0ec4ef4d25
Merge pull request #11033 from autofire372/mp3-bloom
Add bloom definitions for Metroid Prime 3
2023-01-30 09:00:44 +01:00
autofire372
53f3d97b7d
Add bloom definitions for Metroid Prime 3 2023-01-30 08:59:30 +01:00
Scott Mansell
6d7303993c
Merge pull request #11509 from Sam-Belliveau/improved-speed-counter
Tie Speed to CPU Speed and not VPS
2023-01-30 20:41:03 +13:00
Scott Mansell
13d14282a0
Merge pull request #11511 from TellowKrinkle/MTLHD4000
VideoCommon: Avoid creating pipelines with no render targets
2023-01-30 19:31:36 +13:00
Scott Mansell
5a8b8658f1
Merge pull request #11514 from JMC47/cpuculldefaults
Add CPU Cull to Twilight Princess and Metroid Prime Series
2023-01-30 19:29:35 +13:00
JMC47
df536b1443 Add CPU Cull to Twilight Princess and Metroid Prime Series
These games greatly benefit from CPU Culling, and there isn't much reason
not to just blanket enable it for all users.  There is no case where you'd
want it disabled.
2023-01-30 01:08:34 -05:00