Commit graph

4682 commits

Author SHA1 Message Date
Pokechu22
cc411c4e41 VertexLoader: Add more info to m_vertex_size == m_src_ofs assertion 2023-02-12 20:10:38 -08: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
TellowKrinkle
600ad5f498 VideoCommon: Better logic op invert approximation 2023-01-30 14:04:37 -06: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
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
TellowKrinkle
1119a9ba32 VideoCommon: Don't create pipelines with no render targets
Some backends don't like it when you do that
2023-01-29 14:35:23 -06:00
Sam Belliveau
ebf114aef5 Tie Speed to CPU Speed and not VPS 2023-01-29 13:33:48 -05:00
iwubcode
7bea39b39e VideoBackends: add a way to load data into a specific level AND layer, default to layer 0 2023-01-27 18:46:53 -06:00
Admiral H. Curtiss
0a343007cb
PowerPC: Parametrize LR macro. 2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
be8d0b76ca
PowerPC: Remove PC macro. 2023-01-27 15:22:41 +01:00
Pierre Bourdon
9c9310bf44
Merge pull request #11208 from TellowKrinkle/CPUCull
Cull vertices on the CPU
2023-01-26 23:15:23 +01:00
TellowKrinkle
a0e6d7c173 VideoCommon: Explicitly disable fp_contract for CPUCull 2023-01-25 02:21:56 -06:00
TellowKrinkle
1be0149146 VideoCommon: Cull vertices on the CPU 2023-01-25 02:21:56 -06:00
TellowKrinkle
b170ef9651 VideoCommon: Add class for quickly transforming and culling vertices on the CPU 2023-01-25 02:21:56 -06:00
Pierre Bourdon
8d5edb13a9
Merge pull request #11367 from Sam-Belliveau/lagbegone
VideoCommon: VI Skip
2023-01-19 01:20:01 +01:00
Pierre Bourdon
a7d1683149
Merge pull request #11432 from Pokechu22/generic-vertex-loader-test-error
VertexLoader: Fix loading tangent/binormal caches with NormalIndex3
2023-01-17 23:30:29 +01:00
Sam Belliveau
23ad07b368 Add VISkip 2023-01-14 01:56:37 -05:00
Pokechu22
3910bdd68b VertexLoader: Don't write position_cache if vertex is skipped
This is the behavior in the x64 and ARM64 vertex loaders. I don't know if it makes sense (the whole skipped vertex system seems jank, but several games behave incorrectly without it).
2023-01-13 15:38:00 -08:00
Pokechu22
16c0593a52 VertexLoader: Fix loading tangent/binormal caches with NormalIndex3 2023-01-13 15:38:00 -08:00
Pokechu22
2d53b73643 VertexLoaderTester: Add assertions for position/binormal/tangent caches 2023-01-13 15:38:00 -08:00
Pokechu22
c681d96d46 VertexLoaderTester: Use asserts instead of logs
Logs don't show up in unit tests, and since this is debugging functionality (though not enabled for tests by default) it's better to do it this way.
2023-01-13 15:38:00 -08:00
Sam Belliveau
bc1cc9eeb4 CoreTiming: Throttle Before Every Event Using Chrono 2023-01-06 17:21:17 -05:00
Sam Belliveau
588a72a4fc
PerformanceTracker: Add ownership of m_log_name. 2023-01-06 20:27:25 +01:00
Sam Belliveau
bc46089ab0
PerformanceTracker: Use shared_mutex instead of mutex so multiple threads can read at the same time. 2023-01-06 20:27:25 +01:00
Sam Belliveau
9143eb00fb
PerformanceMetrics: Fix Line Width Issue on Non HiDPI Screens 2023-01-06 20:27:17 +01:00
Mai
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
Pokechu22
cefcd9c93c IndexGenerator: Fix off-by-one in GetRemainingIndices
Fixes https://bugs.dolphin-emu.org/issues/13136.
2023-01-04 10:42:00 -08:00
Pokechu22
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
Admiral H. Curtiss
2fdaf0a86e
HW/ProcessorInterface: Rename member variables to fit naming convention. 2023-01-04 03:17:26 +01:00
Admiral H. Curtiss
74e1577a2c
HW/ProcessorInterface: Refactor to class, move to Core::System. 2023-01-04 03:00:10 +01:00
Pokechu22
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
Admiral H. Curtiss
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
Admiral H. Curtiss
cb0a603c72
VideoCommon: De-globalize GeometryShaderManager class. 2022-12-29 15:33:19 +01:00
Admiral H. Curtiss
7e55cc9e90
VideoCommon/VertexShaderManager: Rename private variables. 2022-12-28 16:00:15 +01:00
Admiral H. Curtiss
50625728e0
VideoCommon: De-globalize VertexShaderManager class. 2022-12-28 15:52:29 +01:00
Pokechu22
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
Admiral H. Curtiss
4549fb4acb
VideoCommon/PixelShaderManager: Rename s_ variables. 2022-12-27 20:20:27 +01:00
Admiral H. Curtiss
725bd64ec2
VideoCommon: De-globalize PixelShaderManager class. 2022-12-27 20:13:24 +01:00
Sam Belliveau
6052a5ca9b Fix Speed Counter Sample Size 2022-12-26 16:47:12 -05:00
Sam Belliveau
e1d078ada6 Remove Redundant Access Specifiers 2022-12-23 20:13:01 -05:00
Sam Belliveau
673f81c18a New FrameTime/VBlank Analyzer + Graph 2022-12-23 19:52:53 -05:00
Minty-Meeo
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
JosJuice
547d956278 Common: Use C++20 <bit> header in BitSet.h 2022-12-18 16:51:32 +01:00
Admiral H. Curtiss
c486baffe6
VideoCommon/PixelEngine: Pass Core::System to methods. 2022-12-11 21:57:30 +01:00
Admiral H. Curtiss
ec8aaf1f30
VideoCommon/PixelEngine: Refactor to class, move to Core::System. 2022-12-11 21:57:19 +01:00
Admiral H. Curtiss
ceae4242fc
VideoCommon/Fifo: Pass Core::System to methods. 2022-12-10 17:16:26 +01:00
Admiral H. Curtiss
5624dd6d39
VideoCommon/Fifo: Refactor to class, move to Core::System. 2022-12-10 17:16:19 +01:00
Admiral H. Curtiss
8a3b8a925e
Core: Add option to force linear texture filtering. 2022-12-09 02:02:16 +01:00
Admiral H. Curtiss
839db591d9
HW/Memmap: Refactor Memory to class, move to Core::System. 2022-12-03 13:27:02 +01:00