9143eb00fb
PerformanceMetrics: Fix Line Width Issue on Non HiDPI Screens
2023-01-06 20:27:17 +01:00
cc14d60bbb
Merge pull request #11402 from Pokechu22/too-many-indices
...
IndexGenerator: Fix off-by-one in GetRemainingIndices
2023-01-05 15:15:09 +00:00
cefcd9c93c
IndexGenerator: Fix off-by-one in GetRemainingIndices
...
Fixes https://bugs.dolphin-emu.org/issues/13136 .
2023-01-04 10:42:00 -08:00
6c58ba353c
IndexGenerator: Add assertion for overflow in GetRemainingIndices
...
This assertion is currently triggered by Pocoyo Racing (https://bugs.dolphin-emu.org/issues/13136 ).
2023-01-04 10:41:14 -08:00
2fdaf0a86e
HW/ProcessorInterface: Rename member variables to fit naming convention.
2023-01-04 03:17:26 +01:00
74e1577a2c
HW/ProcessorInterface: Refactor to class, move to Core::System.
2023-01-04 03:00:10 +01:00
d91f340c86
VertexManagerBase: Move free space check to after the buffer is reset
...
Fixes incorrect logspam when the buffer needed to be reset on flushes (which we already were doing, but 52feed04db
moved it to after the check was made). This is https://bugs.dolphin-emu.org/issues/10312 .
I also converted it to an assert, as if this does happen, things are going to render incorrectly, so we want to make it obvious.
2023-01-03 17:06:51 -08:00
ed9915308b
Merge pull request #11386 from Pokechu22/manual-texture-sampling-stereoscopic-layer-bounds-check
...
PixelShaderGen: Clamp texture layer when using manual texture sampling with stereoscopic 3D
2023-01-03 18:07:06 +01:00
cb0a603c72
VideoCommon: De-globalize GeometryShaderManager class.
2022-12-29 15:33:19 +01:00
7e55cc9e90
VideoCommon/VertexShaderManager: Rename private variables.
2022-12-28 16:00:15 +01:00
50625728e0
VideoCommon: De-globalize VertexShaderManager class.
2022-12-28 15:52:29 +01:00
f3df3a7727
PixelShaderGen: Clamp texture layer when using manual texture sampling with stereoscopic 3D
...
Otherwise, texelFetch() will use an out-of-bounds layer for game textures (that have 1 layer; EFB copies have 2 layers in stereoscopic 3D mode), which is undefined behavior (often resulting in a black image). The fast texture sampling path uses texture(), which always clamps (see https://www.khronos.org/opengl/wiki/Array_Texture#Access_in_shaders ), so it was unaffected by this difference.
2022-12-27 13:45:13 -08:00
4549fb4acb
VideoCommon/PixelShaderManager: Rename s_ variables.
2022-12-27 20:20:27 +01:00
725bd64ec2
VideoCommon: De-globalize PixelShaderManager class.
2022-12-27 20:13:24 +01:00
6052a5ca9b
Fix Speed Counter Sample Size
2022-12-26 16:47:12 -05:00
e1d078ada6
Remove Redundant Access Specifiers
2022-12-23 20:13:01 -05:00
673f81c18a
New FrameTime/VBlank Analyzer + Graph
2022-12-23 19:52:53 -05:00
05bebee802
Replace BitUtils with C++20: Counting Zeroes
...
With the upgrade to C++20, std::countl_zero and std::countr_zero can replace these home-spun implementations from the BitUtil.h library.
2022-12-21 04:17:00 -06:00
547d956278
Common: Use C++20 <bit> header in BitSet.h
2022-12-18 16:51:32 +01:00
c486baffe6
VideoCommon/PixelEngine: Pass Core::System to methods.
2022-12-11 21:57:30 +01:00
ec8aaf1f30
VideoCommon/PixelEngine: Refactor to class, move to Core::System.
2022-12-11 21:57:19 +01:00
ceae4242fc
VideoCommon/Fifo: Pass Core::System to methods.
2022-12-10 17:16:26 +01:00
5624dd6d39
VideoCommon/Fifo: Refactor to class, move to Core::System.
2022-12-10 17:16:19 +01:00
8a3b8a925e
Core: Add option to force linear texture filtering.
2022-12-09 02:02:16 +01:00
839db591d9
HW/Memmap: Refactor Memory to class, move to Core::System.
2022-12-03 13:27:02 +01:00
6941d2e7e6
VideoCommon/CommandProcessor: Refactor to class, move to Core::System.
2022-11-29 08:15:01 +01:00
c9558ecb4c
CoreTiming: Refactor to class.
2022-11-27 03:47:12 +01:00
7be4c90f67
Merge pull request #11166 from AdmiralCurtiss/mmio-system
...
HW: Pass System to MMIO handlers.
2022-11-24 00:58:45 +00:00
cc5640245c
Fix build errors related to formatting non-scoped enums
2022-11-23 13:45:43 -08:00
545fee9c94
Core/CommandProcessor: Reformat single/dual core dependent MMIO handlers.
2022-11-23 21:58:18 +01:00
0a6fdb9c13
HW: Pass System to MMIO handlers.
2022-11-23 05:52:21 +01:00
a47ed2124f
Merge pull request #11253 from AdmiralCurtiss/core-timing-events-pass-system
...
CoreTiming: Pass Core::System to Events.
2022-11-23 04:46:11 +00:00
cb232155d9
Merge pull request #11298 from Pokechu22/vertexloader-no-DataReader
...
VertexLoader: Eliminate use of DataReader
2022-11-23 04:40:53 +00:00
e13094766d
Fix VertexLoader.cpp using the wrong size for texture matrix indices without a corresponding texture
...
This regressed in 0a906f553f
, I think (though I haven't confirmed it). Mario Tennis and Luigi's Mansion both use these for some reason (as far as I can tell, the data isn't actually used; it's just extra data included for no reason)
2022-11-22 17:49:54 -08:00
0bcd3c79bb
VertexLoader: Eliminate use of DataReader
...
DataReader is generally jank - it has a start and end pointer, but the end pointer is generally not used, and all of the vertex loaders mostly bypassed it anyways.
Wrapper code (the vertex loaer test, as well as Fifo.cpp and OpcodeDecoding.cpp) still uses it, as does the software vertex loader (which is not a subclass of VertexLoader). These can probably be eliminated later.
2022-11-22 17:17:11 -08:00
edb2c90b38
Improve FPS/VPS Counting and Revamp Appearance
2022-11-23 00:11:47 +01:00
8f5a58f8be
Merge pull request #11285 from K0bin/cp-checks
...
VideoCommon:VertexLoaderManager: Reduce CPConfig checks
2022-11-21 15:35:06 -08:00
f179fd9c33
VideoCommon:VertexLoaderManager: Reduce CPConfig checks
...
A bit of a micro optimization:
CheckCPConfiguration is called 350 times instead of 35k times.
2022-11-18 01:42:30 +01:00
1fdf15a1be
VideoCommon/FramebufferManager: Rename m_efb_cache_tiles_wide to m_efb_cache_tile_row_stride
...
This also initializes it in the non-tiled case just for consistency, although it's not actually read in that case.
2022-11-15 16:04:41 -08:00
55e1c3b51d
VideoCommon/FramebufferManager: use !IsUsingTiledEFBCache() in GetEFBCacheTileRect
...
This is for readability only, and should behave identically.
2022-11-15 15:48:56 -08:00
90d05fe37e
VideoCommon/FramebufferManager: Always update frame access mask on depth peeks
...
0e02ddcf52
removed separate logic for tiled versus non-tiled EFB peek caches, and as part of that made it so that color peeks updated the frame access mask even when a non-tiled cache is in use. However, the same change was not made for depth peeks. I'm not sure if this affected anything in practice.
2022-11-15 15:34:03 -08:00
8a1c28be63
Merge pull request #11172 from K0bin/efb-refresh
...
VideoCommon:FramebufferManager: Mark cache as valid after refresh
2022-11-15 16:33:46 -05:00
37a51f1d09
VideoCommon: Add an option to disable mipmaps
...
Needed by M1 fifoci to work around a minor non-determinism bug
2022-11-07 22:18:56 -06:00
a98df18947
VideoCommon: Hold ImGui lock while initializing and shutting down ImGui.
2022-11-06 21:48:55 +01:00
c931529e7a
Merge pull request #11225 from iwubcode/graphics-mod-textureload-callable
...
VideoCommon: call texture load graphics mod hook when textures are loaded
2022-11-06 18:58:51 +01:00
1348337277
Merge pull request #11246 from tellowkrinkle/PVDMemset
...
VideoCommon: Zero PortableVertexDeclarations on initialization
2022-11-06 18:54:21 +01:00
a36a5c1308
CoreTiming: Pass Core::System to Events.
2022-11-06 17:54:58 +01:00
d9ed9ae331
VideoCommon: Zero PortableVertexDeclarations on initialization
...
Fixes an issue where the default initializer wouldn't initialize padding, making for fun non-determinism
2022-11-05 02:02:53 -05:00
0e02ddcf52
VideoCommon:FramebufferManager: Cleanup
2022-11-04 01:18:23 +01:00
371935d61e
VideoCommon:FramebufferManager: Mark cache as valid after refresh
...
Otherwise we might never hit the early return
if either depth or color doesnt have any active
tiles.
2022-11-04 01:18:23 +01:00