Commit Graph

37817 Commits

Author SHA1 Message Date
dd81d731e4 GameSettings: Add patch for Dead to Rights audio
This game follows the anti-pattern of calling memset on a buffer in the
midst of being DMA copied to ARAM, then calling a DVD read function that
effectively cancels the memset with dcbi instructions. Dolphin does not
emulate dcache for performance reasons, so this patch removes the
offending memset call.

Patches are included for two regions and are enabled by default.

https://bugs.dolphin-emu.org/issues/12759
2022-09-23 21:44:08 -07:00
22197c09a3 Merge pull request #10781 from tellowkrinkle/UberVertexLoader
VideoCommon: Add dynamic vertex loader for ubershaders to reduce pipeline count
2022-09-20 17:14:07 -04:00
4ea694a7e4 Merge pull request #11074 from JosJuice/jitarm64-spr-tl-alignment
JitArm64: Enforce correct alignment of SPR_TL
2022-09-20 23:02:22 +02:00
6203c101f8 JitArm64: Enforce correct alignment of SPR_TL 2022-09-20 18:55:28 +02:00
ee692abbe1 VideoBackends:Metal: Use BitField for stuffing bits in pipeline ids
Also removes cullmode all handling, it's handled in CPU and DX11 backend doesn't specially handle it either
2022-09-20 01:45:18 -05:00
d04e1ca96a Merge pull request #11058 from shuffle2/updater-inflate
Updater: Move inflate intermediate buffer to heap and enlarge
2022-09-20 02:45:50 +02:00
3b10bf04ac Merge pull request #10808 from Pokechu22/vertex-loader-direct-normals-with-index3
VideoCommon: Fix direct normal+tangent+binormal with index3 set
2022-09-19 19:47:37 -04:00
Mai
91b1faa36a Merge pull request #11065 from AdmiralCurtiss/global-state-sram
De-globalize GameCube SRAM.
2022-09-19 18:56:14 -04:00
1eb3aaa548 VideoCommon: Use std::array in PortableVertexDeclaration 2022-09-19 16:28:24 -05:00
28b31b8327 VideoBackends:Vulkan: Make dynamic vertex loader optional
Makes it easier to disable in the future if support for VK_EXT_vertex_input_dynamic_state is added
2022-09-19 16:28:24 -05:00
dae56a24b8 VideoBackends:D3D12: Dynamic vertex loader support 2022-09-19 16:28:24 -05:00
936b4d5d0d VideoBackends:Vulkan: Dynamic vertex loader support 2022-09-19 16:28:24 -05:00
7edc8b4e79 VideoBackends:Metal: Don't set primitive on ubershaders 2022-09-19 16:28:24 -05:00
99533d2840 VideoCommon: Add separate pipeline usage for UberShaders 2022-09-19 16:28:24 -05:00
d289e9c51c VideoCommon: Compile a few extra pipelines 2022-09-19 16:28:24 -05:00
d3dae1cd7e VideoBackends:Metal: Dynamic vertex loader support 2022-09-19 16:28:24 -05:00
4c629c2bee VideoCommon: Add dynamic vertex loader to ubershaders 2022-09-19 16:28:23 -05:00
c21f2512c8 HW: Move g_SRAM to System. 2022-09-19 21:47:15 +02:00
0a517ebdbd Core: Pass Netplay SRAM through boot process.
This removes the Netplay classes touching emulated hardware structures before emulation even starts.
2022-09-19 21:47:12 +02:00
9963637463 HW: Remove global state from functions in Sram.h. 2022-09-19 21:42:43 +02:00
720b3f5519 Merge pull request #11071 from AdmiralCurtiss/netplay-settings-style
Netplay: Rename variable names in NetSettings to match style guide.
2022-09-19 17:55:36 +02:00
d80201a57f VertexLoaderARM64: Fix direct normal+tangent+binormal with index3 set
Fixes https://bugs.dolphin-emu.org/issues/12952
2022-09-18 23:33:24 -07:00
f148de161f VertexLoaderARM64: Specify the register to use as a parameter to ReadVertex
This also means that both a register and a vertex are always specified, though right now if the register is scratch1_reg the offset is always 0.
2022-09-18 23:33:24 -07:00
ad644d5e92 VertexLoaderARM64: Merge GetAddressImm into GetVertexAddr
This way it more closely matches VertexLoaderX64, and is in general easier to understand.
2022-09-18 23:33:24 -07:00
9a290c3d50 VertexLoaderARM64: Always use unscaled load/store instructions
The source and destination offsets will always be less than 255, so we can get rid of a lot of the complexity by doing this.
2022-09-18 23:33:24 -07:00
a34d5e5960 Arm64Emitter: Add additional alignment assertions
Before, unaligned values would be silently ignored in most cases.
2022-09-18 23:33:24 -07:00
afe5adb74d VertexLoaderARM64: Use EnumMap for normal scales 2022-09-18 23:33:24 -07:00
200676f4e3 VertexLoaderX64: Fix direct normal+tangent+binormal with index3 set
Fixes https://bugs.dolphin-emu.org/issues/12952
2022-09-18 23:33:23 -07:00
5cc2f7729e VertexLoaderX64: Use EnumMap for normal scales 2022-09-18 23:33:23 -07:00
53ee1b50fe VertexLoaderTest: Add NormalAll
This currently fails for direct with NormalIndex3 enabled (see https://bugs.dolphin-emu.org/issues/12952). The goal of this test is to be able to confidently say that that bug has been fixed.
2022-09-18 23:33:23 -07:00
729498ab41 VertexLoaderTest: Add DirectAllComponents
We have one that does a similar thing, but only to measure speed and uses indices. This one verifies accuracy (and uses the largest possible input size by using direct components).
2022-09-18 23:33:23 -07:00
6f4f5b0b7b Merge pull request #11067 from K0bin/cache-vertex-size
OpcodeDecoding: Cache vertex sizes
2022-09-18 22:38:06 -04:00
d19994b4bd Merge pull request #11061 from Zopolis4/rnvs
Check for and remove in-tree scmrev.h
2022-09-19 01:38:13 +02:00
bec4850fc3 Netplay: Rename variable names in NetSettings to match style guide. 2022-09-19 01:25:46 +02:00
2db74e7f21 OpcodeDecoding: Get vertex size from the loader 2022-09-19 01:14:53 +02:00
a6c6ec012c VertexLoaderManager: Clean up and slightly speed up with templates 2022-09-19 01:14:49 +02:00
45afab7d5d In CMake, check for and remove in-tree scmrev.h generated by Visual Studio 2022-09-19 08:53:24 +10:00
eec43ce3f3 Merge pull request #11068 from JosJuice/revert-vcredist
Revert "windows: distribute vcredist loose files"
2022-09-18 23:40:33 +02:00
07f86446a6 Netplay: Remove unused m_HostInputAuthority in NetSettings. 2022-09-18 23:00:08 +02:00
69ad2cc4d0 Merge pull request #11059 from AdmiralCurtiss/netplay-graceful-shutdown
NetPlayClient: Treat power button event as a netplay stop.
2022-09-18 00:00:44 +02:00
7866fba1be Revert "licenses: add vc++ redist license"
This reverts commit 84aa19db96.
2022-09-16 10:33:47 +02:00
fec6f1bd5a Revert "windows: distribute vcredist loose files"
This reverts commit 0837af4344.
2022-09-16 10:33:39 +02:00
a31e36aeb7 VertexLoaderManager: Fix backwards preprocess check
Spotted by Pokechu22.
2022-09-15 23:56:04 +02:00
32fba6dbd8 Merge pull request #11066 from K0bin/vertex-size-opt
Optimize GetVertexSize
2022-09-15 14:25:32 -04:00
fdcd2b7d00 VertexLoader: Inline GetSize 2022-09-15 12:50:15 +02:00
8aa214453a VertexLoader: Optimize GetVertexSize
GetComponentSizes was unused, so we simplify this and get rid
of the branches.
2022-09-15 02:47:23 +02:00
1efb5b8800 Merge pull request #11063 from shuffle2/vcredist
windows: distribute vcredist loose files
2022-09-14 23:01:00 +02:00
09c07d4ff2 Merge pull request #11060 from t895/dividers
Android: Use material dividers
2022-09-14 22:43:18 +02:00
84aa19db96 licenses: add vc++ redist license 2022-09-14 13:24:44 -07:00
a472650ef2 Installer: remove old redists
The installer needs other maintenence, but this at least removes some cruft
2022-09-14 13:17:37 -07:00