Commit graph

35695 commits

Author SHA1 Message Date
JosJuice
ea1210773c JitArm64: Fix W0 being present twice in register cache
Fixes a regression from ecf86bb.

The GPR allocation_order is initialized with only 28 elements,
so the 29th element ends up getting zero initialized.
Very sneaky bug...
2021-09-04 12:48:45 +02:00
JosJuice
4b8b53ac73
Merge pull request #10083 from JoeyBallentine/bfbb-dualcore-fix
Disable Dual Core by default for multiple Heavy Iron games
2021-09-03 16:52:06 +02:00
Joey Ballentine
6d25717d75 Disable dual core by default for multiple Heavy Iron games 2021-09-02 15:49:22 -04:00
JosJuice
156ccdb805
Merge pull request #10082 from lioncash/texenum
BPMemory: Make ZTexOp enum an enum class
2021-09-02 08:14:05 +02:00
Lioncash
f36fd5fa39 BPMemory: Make ZTexOp enum an enum class
Avoids placing generic names in the surrounding namespace.
2021-09-01 18:23:22 -04:00
JosJuice
907091ac35
Merge pull request #10078 from Pokechu22/msbuild-DivUtils
msbuild: Move DivUtils to DolphinLib.props
2021-09-01 15:49:29 +02:00
Lioncash
269b7a2166 MemoryInterface: Eliminate trivial sign conversion cases
We can just use unsigned loop variables instead of signed ones.
2021-09-01 06:39:06 -04:00
Lioncash
163b24833d MemoryInterface: Migrate bitfields over to Common::BitField 2021-09-01 06:36:25 -04:00
Pokechu22
e9c6c13886 msbuild: Move DivUtils to DolphinLib.props
It was accidentally put into the main DolphinLib.vcxproj in #9566.
2021-08-31 22:48:07 -07:00
Lioncash
15566048f0 DVDInterface: Migrate bitfields over to Common::BitField 2021-08-31 17:27:43 -04:00
Lioncash
e68b9de62c SI: Migrate bitfields to Common::BitField 2021-08-31 16:26:07 -04:00
Léo Lam
32c7524f4d
Merge pull request #10021 from Dentomologist/make_windows_tabbar_scroll_buttons_opaque
DolphinQt: Make Windows tab bar scroll buttons opaque
2021-08-31 19:18:03 +02:00
Léo Lam
c3dadd140b
Merge pull request #10074 from lioncash/pte
MMU: Tidy up PTE-related code
2021-08-31 19:17:08 +02:00
Léo Lam
ef358a122a
Merge pull request #10075 from lioncash/memcheck
MMU: Don't truncate 64-bit values when calling Memcheck()
2021-08-31 19:06:33 +02:00
Lioncash
ed0aa5928f Gekko: Remove unused UReg_PTE
PTEs are only ever operated on in terms of their halves in our code
currently, so this can be removed.
2021-08-31 12:18:31 -04:00
Lioncash
029aff0741 MMU: Remove now-unused defines
Now that we're using register unions where applicable, we can remove
these defines, since they're now unused.
2021-08-31 12:18:28 -04:00
Lioncash
7a6b63b309 MMU: Don't truncate 64-bit values when calling Memcheck()
Previously in Read_U64 and Write_U64 the value that was read or written
would be truncated to a 32-bit value before being passed off to the
memcheck handler, which can result in incorrect values being logged out.
2021-08-31 11:39:13 -04:00
Dentomologist
1fa1e7135c DolphinQt: Make Windows tab bar scroll buttons opaque 2021-08-31 08:33:00 -07:00
Lioncash
a8ebca4fc6 MMU: Invert conditionals in Memcheck()
Lets us unindent code a little bit.
2021-08-31 11:30:57 -04:00
Lioncash
ee40b640d3 MMU: Make use of UPTE_Lo and UReg_SR in TranslatePageAddress()
Allows us to get rid of a bit of masking in exchange for stating the
bits being accessed or written to directly.
2021-08-31 10:52:52 -04:00
Lioncash
e687569e02 Gekko: Add union for segment registers
Will be used in the following commit.
2021-08-31 10:45:12 -04:00
JosJuice
755c599c83 Translation resources sync with Transifex 2021-08-31 16:42:26 +02:00
Lioncash
75840f62ff MMU: Make use of UReg_SDR1 in SDRUpdated()
Lets us simplify SDRUpdated() a little bit.

This also fixes the layout of UReg_SDR1. Turns out this struct has been
incorrect (from a little-endian perspective) the entire time and went
unnoticed, since the union was never used.
2021-08-31 10:20:56 -04:00
Lioncash
1c776d8c1a MMU: Move invalidation logic into the TLBEntry struct
Puts the invalidation logic in one place and lets us tidy up
InvalidateTLBEntry a little.
2021-08-31 10:04:44 -04:00
Lioncash
3216040bfe MMU: Remove implicit sign conversions and truncation in UpdateTLBEntry
These are trivial to resolve.

Converting the structure member into a u32 results in no increase in
structure size, as it's making use of the three extra padding bits in
the structure.
2021-08-31 10:00:18 -04:00
Lioncash
c008b1c335 MMU: Move UPTE1/UPTE2 unions into Gekko.h
Keeps the register definitions in one spot and lets us remove a comment
about them.
2021-08-31 09:45:28 -04:00
Lioncash
65e131ef5f MMU: Convert PTE unions over to Common::BitField 2021-08-31 09:36:13 -04:00
Léo Lam
c5becb4a7e
Merge pull request #10040 from JosJuice/simplify-mcrfs
Interpreter: Simplify mcrfs implementation
2021-08-31 15:31:54 +02:00
Léo Lam
d1048f390e
Merge pull request #10073 from JosJuice/revert-10025
Revert "DolphinQt: Minor consistency fixes for the Settings window"
2021-08-31 12:18:25 +02:00
JosJuice
e376a985e4 Revert "DolphinQt: Minor consistency fixes for the Settings window"
This reverts commit 9d45bac175.
2021-08-31 09:15:03 +02:00
Tilka
e69f7e7c77
Merge pull request #10072 from Tilka/dsp_cycles
DSPInterpreter: fix off-by-one errors in cycle counting
2021-08-31 03:54:06 +01:00
Tillmann Karras
72ca41b9bf DSPInterpreter: fix off-by-one errors in cycle counting 2021-08-31 01:51:42 +01:00
Léo Lam
c2c30b4d50
Merge pull request #10026 from PatrickFerry/ini-fixes-3
Various GameINI Updates
2021-08-31 02:12:01 +02:00
Léo Lam
8ecb0447b6
Merge pull request #10025 from mbc07/gui-fixes-settings
DolphinQt: Minor consistency fixes for the Settings window
2021-08-31 01:43:02 +02:00
Léo Lam
48339afb98
Merge pull request #10041 from lioncash/conv
Interpreter: Make signedness and narrowing conversions explicit
2021-08-31 01:07:27 +02:00
Léo Lam
95fcedeef3
Merge pull request #10053 from lioncash/kdreq
IOS/Network/KD: Minor tidy-up changes
2021-08-31 00:45:17 +02:00
Léo Lam
1fa74ab824
Merge pull request #10058 from AdmiralCurtiss/dsp-cleanup
DSPHLE: Minor cleanup & savestate fix for AX coefficients.
2021-08-31 00:16:54 +02:00
Admiral H. Curtiss
f592565532 DSPHLE/AX: Reload resampling coefficients on savestate load if necessary. 2021-08-30 23:36:09 +02:00
Léo Lam
271612f328
Merge pull request #10064 from lioncash/regs
Gekko: Migrate register structs over to Common::BitField
2021-08-30 23:19:17 +02:00
Léo Lam
d7109b149b
Merge pull request #10066 from leoetlino/abort-on-panic-alert-option
Add an option to abort when a panic alert occurs
2021-08-30 22:43:21 +02:00
Léo Lam
16a903890c
Merge pull request #10071 from JMC47/scoobyvertexrounding
GameINI: Add Vertex Rounding to Scooby-Doo: Night of 100 Frights
2021-08-30 22:41:44 +02:00
Léo Lam
6659f8019e
Merge pull request #10035 from JosJuice/jitarm64-dcbx-in-loop
JitArm64: dcbx loop detection for improved performance when invalidating large memory regions
2021-08-30 22:39:20 +02:00
Léo Lam
d94aa913f5
Merge pull request #10065 from iwubcode/graphics-debug-details
VideoBackends / VideoCommon: expose ability to view shader/texture debug names
2021-08-30 21:00:24 +02:00
iwubcode
1f2f505373 VideoBackends / VideoCommon: allow the ability to set debug names for shaders / textures. These names are visible in applications like RenderDoc 2021-08-30 13:47:48 -05:00
JosJuice
9b83cf3e7f
Merge pull request #10069 from leoetlino/clang-format-12
Update clang-format to version 12
2021-08-30 09:13:15 +02:00
JMC47
3d00bc3b13 GameINI: Add Vertex Rounding to Scooby-Doo: NoOF
This game is the earliest of Heavy Iron Studios' games and has a similar
offset issue to that of the SpongeBob and Incredibles games.  While they
weren't offsetting it and breaking shadows like the other games, there's
still an offset in the upper left corner of the screen.  This fixes
that, and has no effect at 1x IR, so it's safe to enable by default.
2021-08-30 02:50:51 -04:00
Léo Lam
815b590dfe
Update clang-format to version 12
12 is the latest release and various editors (VS, VSCode and CLion)
ship with clang-format 12 by default.
2021-08-30 00:20:18 +02:00
Léo Lam
86f2c7889d
Merge pull request #8932 from sepalani/cw-map
PPCSymbolDB: Improve symbol map column detection
2021-08-29 23:28:09 +02:00
Léo Lam
ef98f209a2
IOS: Add missing writes of low MEM1 constants
On a real Wii, these constants are normally written by the system menu
(maybe even as part of common SDK code?)

However, they're cleared by IOS whenever a PPC title is launched.
IOS memsets 0x0-0x3fff and then manually writes some constants
in low MEM1. PR #4723 added most of the writes in the 0x31xx region
but left out the four writes to the legacy constant region.

Previously Dolphin didn't actually clear 0-0x3fff so those constants
would stick around after a system menu execution.
011f7789e0 exposed those missing writes.
2021-08-29 22:51:44 +02:00
Lioncash
dbf8e27d7f Gekko: Convert UReg_PTE over to using Common::BitField 2021-08-29 06:16:55 -04:00