Lioncash
6b4e340995
VideoCommon/OpcodeDecoding: Amend comment formatting
...
Amends a documentation comment that acquired some wonky formatting
during the introduction of clang-format a few years ago.
2019-12-05 09:13:06 -05:00
Lioncash
b2a9c36501
VideoCommon/OpcodeDecoding: Move g_bRecordFifoData into namespace
...
Keeps the global localized with the code that it's primarily related to.
Now it's obvious from a glance what the global variable is affecting.
2019-12-05 09:13:03 -05:00
Lioncash
d8063e9c54
VideoCommon/OpcodeDecoding: Normalize variable naming
...
Provides consistent naming of variables within the translation unit.
While we're at it, we can mark them const where applicable.
2019-12-05 08:05:29 -05:00
Stenzek
dd23a1ee79
Update VS projects/solutions to VS2019
2019-11-30 13:42:52 +10:00
Anthony
4a0611df54
Merge pull request #8487 from lioncash/video-fmt
...
VideoCommon: Make use of fmt outside of shader generators
2019-11-28 15:03:23 -08:00
Scott Mansell
ac77df9e90
Merge pull request #8490 from vadosnaprimer/dumping
...
2 minor dumping fixes
2019-11-25 10:38:44 +13:00
feos
cb6a632c60
fix missing frame when you start another dump without closing dolphin
2019-11-24 18:02:38 +03:00
feos
15e6e7ddd2
figure out new segment on the fly right in FrameDump::Start()
2019-11-24 18:02:36 +03:00
Lioncash
6fbbc2683e
VideoCommon: Make use of fmt outside of shader generators
...
Migrates most of VideoCommon over to using fmt, with the exception being
the shader generator code. The shader generators are quite large and
have more corner cases to deal with in terms of conversion (shaders have
braces in them, so we need to make sure to escape them).
Because of the large amount of code that would need to be converted, the
conversion of VideoCommon will be in two parts:
- This change (which converts over the general case string formatting),
- A follow up change that will specifically deal with converting over
the shader generators.
2019-11-23 16:00:45 -05:00
Connor McLaughlin
5440be96e7
Merge pull request #8378 from stenzek/quad-buffer-stereo
...
Various quad-buffered ("HDMI 3D") stereo fixes
2019-11-08 10:26:58 +10:00
Connor McLaughlin
d3ee0a4535
Merge pull request #8379 from stenzek/mali
...
Vulkan: Optimizations for Mali with EFB2RAM on
2019-10-31 22:44:19 +10:00
feos
5d03d5dde0
Another AVI fix for WinAPI importers
...
When not using native resolution, FFMPEG automatically selects FFV1 version 3 for whatever reason, and that can't be decoded by VirtualDub/AVISynth.
2019-10-05 23:31:06 +03:00
Stenzek
ae83d02e54
Drop 3D Vision Support
2019-10-04 13:40:21 +10:00
Stenzek
328d89db70
Vulkan: Add a DriverDetails bug for "slow cached readback memory"
...
Using the cached memory type appears to be slower on Mali drivers, with
~10-15% CPU spent in the __pi___inval_cache_range kernel function.
2019-10-02 21:34:58 +10:00
Stenzek
33a6d265e5
PostProcessing: Use interface blocks for shaders
2019-10-02 12:59:50 +10:00
Stenzek
af849126b3
Renderer: Use interface blocks for ImGui shaders
2019-10-02 12:52:45 +10:00
Stenzek
c98a5f7dfd
Renderer: Draw ImGui interface to both eyes
2019-10-02 12:19:47 +10:00
Stenzek
b44a0980eb
PostProcessing: Use correct layer in quad-buffered modes
...
Previously, only the left eye was being used.
2019-10-02 11:52:54 +10:00
Stenzek
e88c269d02
PostProcessing: Don't use GS expansion shader for quad buffering w/ OpenGL
...
OpenGL doesn't render to a 2-layer backbuffer like D3D/Vulkan for quad-buffered
stereo, instead drawing twice with the eye selected by glDrawBuffer()
(see OGL::Renderer::RenderXFBToScreen).
2019-10-02 11:33:25 +10:00
Stenzek
135f0a1385
ShaderCache: EFB2RAM pipelines should not use a geometry shader
...
Only the left eye is used when creating the RAM copy.
2019-10-01 11:44:31 +10:00
Stenzek
c989e5c50c
ShaderCache: Recompile shared pipelines on shader cache reload
...
Fixes broken stereoscopy when switching on/off at runtime.
2019-10-01 11:43:02 +10:00
Silent
37ef5a54c9
Core: Use move semantics for Renderer::SaveScreenshot
2019-08-28 19:52:35 +02:00
Connor McLaughlin
48ca2c6f2e
Merge pull request #8233 from JosJuice/stringutil-string-view
...
StringUtil: Use std::string_view more
2019-08-09 23:39:01 +10:00
Connor McLaughlin
22ed2c0e0c
Merge pull request #8269 from lioncash/osd-move
...
VideoCommon/OnScreenDisplay: Minor cleanup
2019-08-08 12:38:44 +10:00
Connor McLaughlin
1092efa77a
Merge pull request #8276 from stenzek/adreno-efb-access
...
Fix CPU EFB access on Adreno with Vulkan backend
2019-08-08 12:23:27 +10:00
Connor McLaughlin
9477c8b0ed
Merge pull request #8293 from lioncash/ref
...
VideoCommon/TextureCacheBase: Make OnConfigChanged's parameter a const reference
2019-08-08 12:17:26 +10:00
Connor McLaughlin
24718c1a38
Merge pull request #8294 from lioncash/render-const
...
VideoCommon/RenderBase: Make functions const where applicable
2019-08-05 16:25:21 +10:00
Lioncash
07aa18eb2b
VideoCommon/TextureCacheBase: Collapse for loop into a fill() in Invalidate()
...
Same thing, less code.
2019-08-04 23:30:27 -04:00
Lioncash
d52dd2e04f
VideoCommon/TextureCacheBase: Use emplace_back where applicable
...
Same thing, less code.
2019-08-04 23:28:14 -04:00
Lioncash
fd12ae1408
VideoCommon/TextureCacheBase: Remove use of the texture cache global
...
We can just call the functions that are part of the interface instead of
using the global in order to execute those functions.
2019-08-04 23:23:04 -04:00
Lioncash
7366b4281f
VideoCommon/RenderBase: Remove dependency on renderer global within renderer
...
There's no need to have a dependency when we can simply call the
function itself as part of the instance itself.
2019-08-04 23:01:19 -04:00
Lioncash
cfdfbbff38
VideoCommon/RenderBase: Use structured bindings where applicable
...
Same behavior, but immediately assigns to variables, allowing them to be
const.
2019-08-04 22:59:07 -04:00
Lioncash
dd5b8895fe
VideoCommon/RenderBase: Make functions const where applicable
2019-08-04 22:52:00 -04:00
Lioncash
86a651e27f
VideoCommon/TextureCacheBase: Remove dependence on global variables from OnConfigChanged()
...
The active config will always be passed as the reference parameter, we
can make use of the parameter instead of accessing the global variable.
2019-08-04 22:33:18 -04:00
Lioncash
7d017be666
VideoCommon/TextureCacheBase: Make OnConfigChanged's parameter a const reference
...
This reference isn't actually modified within this function
2019-08-04 22:31:27 -04:00
Connor McLaughlin
7de6b57c13
Merge pull request #8284 from stenzek/logic-op-hack
...
RenderState: Approximate logic op with blending if unsupported
2019-08-04 14:39:38 +10:00
Stenzek
f6f9dc0cac
RenderState: Approximate logic op with blending if unsupported
...
This is a giant hack which was previously removed because it causes
broken rendering. However, it seems that some devices still do not
support logical operations (looking at you, Adreno/Mali). Therefore, for
a handful of cases where the hack actually makes things slightly better,
we can use it.
... but not without spamming the log with warnings. With my warning
message PR, we can inform the users before emulation starts anyway.
2019-08-04 14:06:08 +10:00
Stenzek
d6460e0b18
FramebufferShaderGen: Fix upside-down EFB being restored in OpenGL
2019-08-03 01:48:57 +10:00
Stenzek
25b3e5e029
FramebufferManager: Fix restoring of EFB depth buffer
...
Correct state wasn't being set.
2019-08-03 01:46:54 +10:00
Stenzek
06daf58032
FramebufferManager: Correctly handle read back D24S8 textures
...
Needed for the Adreno/Vulkan workaround, and if we ever switch to a D24
texture for the depth buffer w/ unrestricted depth range.
2019-07-31 15:33:28 +10:00
Lioncash
3f947f086f
VideoCommon/OnScreenDisplay: Use deduction guides for std::lock_guard
...
Same behavior without hardcoding the type of the mutex within the lock
guards. This means the type of the mutex would be able to be changed
without needing to also change all occurrences lock guards are used.
2019-07-28 23:08:21 -04:00
Lioncash
a565e41cb8
VideoCommon/OnScreenDisplay: Remove unused headers
...
While we're at it, fix up the imgui include to use the convention we use
for referencing external library headers.
2019-07-28 23:04:52 -04:00
Lioncash
c212310fbe
VideoCommon/OnScreenDisplay: Take Message's std::string parameter by value
...
Allows callers to std::move strings into the functions (or automatically
assume the move constructor/move assignment operator for rvalue
references, potentially avoiding copies altogether.
2019-07-28 23:00:58 -04:00
Lioncash
50b240fcbd
VideoCommon/OnScreenDisplay: Default initialize all Message members
...
Provides a deterministic initial state in the case of the default
constructor.
2019-07-28 22:42:45 -04:00
Silent
890f781cd0
Factorize software renderer backend switching warning to be fetched from a new GetWarningMessage in video backend - will be needed for DX11.1 feature set warnings
2019-07-26 19:39:07 +02:00
Connor McLaughlin
d48dabc1fd
Merge pull request #8259 from stenzek/macos-disable-reversed-depth
...
Vulkan: Disable reversed viewport depth on macOS/MoltenVK
2019-07-25 14:11:09 +10:00
Stenzek
53e30c06e8
Config: Add an option to skip saving texture cache to save state
2019-07-24 05:19:22 +10:00
Stenzek
137009affe
FramebufferManager: Support saving EFB to save state
2019-07-24 05:19:22 +10:00
Stenzek
1082468133
TextureCache: Support saving cache entries, including EFB copies
2019-07-24 04:10:38 +10:00
Stenzek
b26bb0605b
VideoBackendBase: Do save state logic on the GPU thread
2019-07-24 04:08:25 +10:00