Commit Graph

15543 Commits

Author SHA1 Message Date
e3578683e3 Vertex loader: optimize texmtx_write_float4
Seems to be pretty high in the profile in some geometry-heavy games like The
Last Story, and the compiler-generated assembly is terrifyingly bad, so
SSE-ize it.
2014-12-03 11:17:05 -08:00
a4c6cf85e9 TLB: fix backwards exception check 2014-12-03 06:00:23 -08:00
b9b3277fb5 Merge pull request #1618 from JosJuice/dvd-low-open-partition
Fix Wii disc partitions
2014-12-03 21:24:56 +11:00
a2566bd397 DiscIO: Safety check when allocating memory for TMD 2014-12-03 10:54:09 +01:00
303ff79746 Merge pull request #1642 from Sonicadvance1/fix_intel_windows_crap
Works around broken Intel Windows video drivers.
2014-12-03 01:22:09 -06:00
5c3bbf7409 Works around broken Intel Windows video drivers.
Just use regular boolean negation in our pixel shader's depth test everywhere except on Qualcomm.
This works around a bug in the Intel Windows driver where comparing a boolean value against true or false fails but boolean negation works fine.
Quite silly.

Should fix issues #7830 and #7899.
2014-12-03 00:33:42 -06:00
71e4e67ae1 [AArch64] Only flush registers that are needed with interpreter fallback.
We try to keep as many registers as possible in callee saved registers, so if we have guest registers in the correct registers and the interpreter
call we are falling back to doesn't need the registers then we can dump just those ones. Which means we don't have to dump 100% of our register state
when falling to the interpreter.
2014-12-02 21:08:38 -06:00
71b77f3173 [AArch64] Makes some integer instructions more clear what they're doing.
ComputeRC was a bit unclear by using 64bit registers for setting the immediate and then calling SXTW on a 6b4it register which is just a bit obscure.
When the source register is an immediate in cntlzwx, just use the built in GCC function instead of our own implementing for counting leading zeros.
2014-12-02 21:08:38 -06:00
8dfb8d8ad5 [AArch64] Implements HLE function injection 2014-12-02 21:08:38 -06:00
51ad798105 [AArch64] Implements block linking.
Before block linking was enabled but it wasn't ever implemented.
Implements link blocks and destroy block functions and moves the downcount check in the WriteExit function so it doesn't get overwritten when linking.
2014-12-02 21:08:38 -06:00
ca04601b14 [AArch64] Fixes the dispatcher
Changes the dispatcher to make sure to we are saving the LR(X30) to the stack. Also makes sure to keep the stack aligned.
AArch64's AAPCS64 mandates the stack to be quad-word aligned.

Fixes the dispatcher from infinite looping due to a downcount check jumping to the dispatcher. This was because checking exceptions and the state
pointer wouldn't reset the global conditional flags. So it would leave the timing/exception, jump to the start of the dispatcher and then jump back
again due to the conditional branch.
2014-12-02 21:08:38 -06:00
c3c80e9440 [AArch64] Improves the register cache.
Removes the REG_AWAY nonsense I was doing. I've got to get the JIT more up to speed before thinking of insane register cache things.
Also fixes a bug in immediate setting where if the register being set to an immediate already had a host register tied to it then it wouldn't free the
register it had. Resulting in register exhaustion.
2014-12-02 21:08:38 -06:00
2c39d4044d [AArch64] Add loadstore paired emitter instructions. 2014-12-02 21:08:34 -06:00
22209bcc62 Merge pull request #1620 from Armada651/ogl-msaa-array
OGL: Don't use texture arrays for MSAA.
2014-12-02 20:50:09 -05:00
eea3039a6a Merge pull request #1636 from Sonicadvance1/ppcanalyst-fix
Fix register usage detection in PPCAnalyst.
2014-12-02 18:59:42 -06:00
438cec8eb6 Merge pull request #1632 from lioncash/assert
DolphinWX: Fix assertions when using Boomy
2014-12-02 19:46:53 -05:00
40920b3823 OGL: Don't use texture arrays for MSAA.
This solves a performance regression on AMD cards.
We don't currently support stereoscopy for MSAA anyway.
2014-12-03 01:39:43 +01:00
1abb87bba7 DolphinWX: Fix assertions when using Boomy
Assertions would occur because wx would be looking for an image with the name of "classic.png", which simply didn't exist.
2014-12-02 19:25:00 -05:00
8f08601499 FrameTools: Fix dimming of controller settings menu item 2014-12-02 19:18:15 -05:00
94d9d138d9 Common: Add a built-in profiler 2014-12-03 00:50:41 +01:00
08660c89ad Fix register usage detection in PPCAnalyst.
lmw/stmw weren't properly setting input and output registers since they use multiple registers.
dcbz was just missing a flag in the instruction tables.
2014-12-02 16:12:33 -06:00
e40f129fdd Merge pull request #1635 from FioraAeterna/fixprofiler2
JIT: fix profiler call
2014-12-02 14:39:25 -06:00
863fb91cad JIT: fix profiler call
Sometimes this seems to require a 64-bit offset, so use CallFunction instead
2014-12-02 10:17:58 -08:00
734aac54a8 Merge pull request #1631 from lioncash/id
DolphinWX: Specify wxID_ANY where -1 is used in controls
2014-12-02 12:01:29 -05:00
726b50e06e Fix HiDPI loading logic. 2014-12-02 09:45:00 -05:00
a5cfe85c8d Support HiDPI flags & rating images.
There aren't any yet, it's up to up to Stevoisiak and MaJoR to create
them :)
2014-12-02 09:44:56 -05:00
320c5f2545 Cast the result of GetSize() to "unsigned long long".
Squelches a warning on Mac OS X.
2014-12-02 09:44:52 -05:00
43473e09d1 Implement the "Rating" column.
Looks like I forgot to do this...
2014-12-02 09:44:47 -05:00
1d4b3a90eb Micro-optimize RenderWidgetHasFocus(). 2014-12-02 09:44:31 -05:00
10bfbebc78 DolphinWX: Specify wxID_ANY where -1 is used in controls 2014-12-01 23:02:50 -05:00
54f1e3a3c1 Merge pull request #1630 from lioncash/unused
WII_IPC_HLE_Device_fs: Remove unused macro constant
2014-12-01 21:49:07 -05:00
64124a0d21 Merge pull request #1628 from lioncash/tl
InputConfigDiag: Clean up dialog title translation handling
2014-12-01 20:40:49 -06:00
b34c80d138 Merge pull request #1626 from kamiyo/fix-wiimote-volume-divisor
Fix Wiimote speaker divisor for format 0x00
2014-12-02 12:51:15 +11:00
11e6d75ea6 WII_IPC_HLE_Device_fs: Remove unused macro constant 2014-12-01 19:33:53 -05:00
af5b1063bf Merge pull request #1619 from FioraAeterna/removepxor
JIT: remove unnecessary pxor in paired stores
2014-12-01 15:50:31 -05:00
27540ba3fb InputConfigDiag: Clean up dialog title translation handling 2014-12-01 15:47:38 -05:00
6487341a03 Merge pull request #1627 from comex/remove-version-check
Remove runtime OS X version check.
2014-12-01 14:31:26 -05:00
05cb1ff136 Remove runtime OS X version check.
My recent update to that check broke compilation on 10.9:
https://code.google.com/p/dolphin-emu/issues/detail?id=7900

However, on further review, the check isn't actually necessary.  If the
OS X version is older than LSMinimumSystemVersion in Info.plist, the
system will generally refuse to run the binary in the first place.  You
can try to launch it via a terminal, but at that point it's the user's
problem if it crashes.
2014-12-01 14:21:24 -05:00
e8c393b00f Fix wiimote speaker divisor.
Playing with the wiimote volume in the Wii menu in-game, I found that the range for m_reg_speaker.volume is 0 -127, not 0 - 64.
2014-12-01 13:06:53 -05:00
3210a942ec Merge pull request #1587 from lioncash/input-move
Unify the controller configuration dialogs.
2014-12-01 04:19:44 -05:00
21d039059e ControllerConfigDiag: Fix Linux builds 2014-12-01 03:53:32 -05:00
5e2888bff6 DolphinWX: Add new icon for the controller menu. 2014-12-01 03:50:44 -05:00
896304fd07 ControllerConfigDiag: Disable controller type changes if netplay or a movie is active. 2014-12-01 03:36:09 -05:00
7b54d8ad10 ControllerConfigDiag: Remove now obsolete TODOs 2014-12-01 03:36:08 -05:00
cad8ae3be1 WiimoteConfigDiag: Rename to ControllerConfigDiag. 2014-12-01 03:36:07 -05:00
e801fcead9 WiimoteConfigDiag: Unify controller menu with the GameCube controllers. 2014-12-01 03:36:04 -05:00
00dcaba37d WiimoteConfigDiag: Size the config buttons correctly 2014-12-01 03:36:02 -05:00
22c547f6fb WiimoteConfigDiag: Remove trailing whitespace 2014-12-01 03:36:01 -05:00
1791897815 WiimoteConfigDiag: Fix assertion problems on non-OSX OSes. 2014-12-01 03:35:59 -05:00
94d033020e WiimoteConfigDiag: Split UI sizer creation into their own functions. 2014-12-01 03:35:58 -05:00