Unknown W. Brackets
|
e6a7ba3fae
|
arm64: Bring imms along for the STP ride.
|
2015-07-03 16:51:33 -07:00 |
|
Unknown W. Brackets
|
ca1e482a56
|
arm64: Avoid setting a reg to zero to store it.
|
2015-07-03 16:05:25 -07:00 |
|
Henrik Rydgård
|
6327a1300f
|
Merge pull request #7827 from unknownbrackets/file-loaders
Disk caching file loader
|
2015-07-03 23:23:16 +02:00 |
|
Henrik Rydgård
|
82c66bc463
|
Merge pull request #7840 from unknownbrackets/arm64-micro
Flush using STP where possible in ARM64
|
2015-07-03 23:20:43 +02:00 |
|
Unknown W. Brackets
|
8fdceba7ca
|
Add timing for all the basics.
This way we can see overall stats for a frame.
|
2015-07-03 12:05:08 -07:00 |
|
Unknown W. Brackets
|
90b7d135cb
|
arm64: Flush in pairs if possible.
On an A57, this is around twice as fast (for just the STR/STR vs STP.)
|
2015-07-03 11:07:09 -07:00 |
|
Unknown W. Brackets
|
ddb955a527
|
arm64: Try to optimize imm stores.
If we already have a reg, we can use it. This can happen when immediate
addresses are loaded and used as bases, although it's not super common.
|
2015-07-03 10:48:11 -07:00 |
|
Unknown W. Brackets
|
2331df8c70
|
arm64: Try to be more consistent in ZERO handling.
Let's keep it IMM where possible, even though we've added checks for
MIPS_REG_ZERO.
|
2015-07-03 10:21:24 -07:00 |
|
Unknown W. Brackets
|
66d85233b9
|
arm64: Flush only caller-saved regs before calls.
|
2015-07-03 10:09:43 -07:00 |
|
Unknown W. Brackets
|
88b23460f1
|
Add a file loader to perform disk caching.
Had to do some tricks to handle gameinfocache threads properly.
|
2015-07-02 20:58:58 -07:00 |
|
Unknown W. Brackets
|
da827d9ef0
|
Move file loader code into directories.
Not making sense to put these all in the same fiel anymore.
|
2015-07-02 20:58:53 -07:00 |
|
Unknown W. Brackets
|
66adc4e695
|
jit: Normalize CONDITIONAL_DISABLE formatting.
|
2015-07-02 20:31:37 -07:00 |
|
Unknown W. Brackets
|
fed687fb59
|
arm64: Meld LO and HI together for multiplies.
|
2015-07-02 20:31:37 -07:00 |
|
Unknown W. Brackets
|
31a5227076
|
arm64: Add umull alias.
|
2015-07-02 20:31:35 -07:00 |
|
Unknown W. Brackets
|
1d1c80d9cf
|
arm64: Use BFI for cfc1.
|
2015-07-02 20:31:35 -07:00 |
|
Unknown W. Brackets
|
757a1a414a
|
arm64: Workaround an apparent gcc bug.
Only seems to happen with unsigned. This took a while to track down...
|
2015-07-02 19:59:38 -07:00 |
|
Henrik Rydgard
|
bb57aa69d1
|
Somewhat better check to prevent some homebrew from loading into kernel memory.
|
2015-07-02 23:07:07 +02:00 |
|
Henrik Rydgård
|
04ce8a63e5
|
Workaround issue where some homebrew (like moppi-flower) would erroneously load into kernel ram where it won't fit
|
2015-07-02 15:55:09 +02:00 |
|
vnctdj
|
c8d4ebdbfa
|
Consistently use *sy for the System i18n category
|
2015-07-02 01:00:04 +02:00 |
|
vnctdj
|
d4d91fc831
|
Consistently use *sc for the Screen i18n category
|
2015-07-02 00:50:07 +02:00 |
|
vnctdj
|
d7eba2061e
|
Consistently use *di for the Dialog i18n category
|
2015-07-01 23:26:55 +02:00 |
|
Unknown W. Brackets
|
e94fd3d4bd
|
arm64: Fix div/divu remainders.
Erp, I transposed the args when I pasted them.
|
2015-06-28 16:52:49 -07:00 |
|
Unknown W. Brackets
|
81b923f1dc
|
arm64: Correct movz/movn. Weren't right after all.
|
2015-06-28 16:49:28 -07:00 |
|
Unknown W. Brackets
|
4d7a948717
|
arm64: Fix a dump mistake with rounding modes.
|
2015-06-28 16:35:46 -07:00 |
|
Unknown W. Brackets
|
b6612edf67
|
arm64: Use a cached rounding func for cvt.w.s.
This is much faster for this particular instruction, although not all
games even use it.
|
2015-06-28 12:40:29 -07:00 |
|
Unknown W. Brackets
|
1c163e4817
|
arm64: Avoid an ORR for c.ueq.
This is about 15% faster for this single, uncommon instruction on A57.
|
2015-06-28 10:52:17 -07:00 |
|
Unknown W. Brackets
|
febe435946
|
arm64: Use FP load/stores for non-reg pointers.
|
2015-06-28 10:45:44 -07:00 |
|
Unknown W. Brackets
|
909e4b9bd8
|
Switch lo and hi so that low comes first.
This way we can treat it as a single 64-bit value.
|
2015-06-28 10:42:19 -07:00 |
|
Unknown W. Brackets
|
213ad4bcc9
|
arm64: Cleanup branch code a tiny bit.
Want to make it clear that we can't kill W0 at this point (delay slots.)
|
2015-06-28 09:28:54 -07:00 |
|
Unknown W. Brackets
|
0978aa4d5e
|
arm64: Use msub for div/divu remainder.
Not really much faster, but less instructions at least.
|
2015-06-28 09:05:39 -07:00 |
|
Unknown W. Brackets
|
0a5b1c030b
|
arm64: Implement ext and ins.
|
2015-06-28 08:45:17 -07:00 |
|
Unknown W. Brackets
|
daddb73f22
|
arm64: Implement nor.
|
2015-06-28 00:41:04 -07:00 |
|
Unknown W. Brackets
|
11a851a139
|
arm64: Enable movz/movn.
|
2015-06-28 00:41:04 -07:00 |
|
Unknown W. Brackets
|
223e55a453
|
arm64: Undisable clz/clo, they work.
Also, avoid a temp in clo. It's the tiniest bit faster on A57, though
we'll see how it works out elsewhere. A bit clearer without the temp
imho.
|
2015-06-28 00:41:03 -07:00 |
|
Unknown W. Brackets
|
81bc8107cf
|
arm64: Use UBFX, not LSR, for slti sign check.
This is about 22% faster on the A57 (for just this one instruction, so not
a huge impact overall.) Makes sense that it would be since not arith.
|
2015-06-28 00:41:03 -07:00 |
|
Unknown W. Brackets
|
fedbe645e0
|
arm64: Use all immediate compares in safemem.
Ah, this is better.
|
2015-06-27 00:22:09 -07:00 |
|
Unknown W. Brackets
|
3c29ec2051
|
arm64: Optimize codesize in safemem path a bit.
Will only be used for scratchpad, I think.
|
2015-06-27 00:22:04 -07:00 |
|
Unknown W. Brackets
|
fbd4db0fc4
|
arm64: Add a safemem path.
This is probably not optimal but at least it works.
|
2015-06-27 00:22:04 -07:00 |
|
Unknown W. Brackets
|
b3aa6d89e9
|
Fix UBFX encoding (thanks SonicAdvance1.)
|
2015-06-26 21:27:03 -07:00 |
|
Unknown W. Brackets
|
7f812071a7
|
Oops, move Screenshot.cpp in MSVC project.
|
2015-06-14 09:21:54 -07:00 |
|
Unknown W. Brackets
|
0c0a5741b8
|
Fix another dumb mistake in video swizzling.
|
2015-06-14 09:21:13 -07:00 |
|
Henrik Rydgard
|
23004409bd
|
Add another missing check for VRAM address before swizzling media
|
2015-06-14 14:03:45 +02:00 |
|
Henrik Rydgard
|
e848247f88
|
ARM64: Also save FP registers around the JIT dispatcher loop
|
2015-06-14 13:03:46 +02:00 |
|
Henrik Rydgard
|
2c05334d47
|
ARM64: Fix bug where we didn't save the FP registers correctly in the vertex decoder.
Also port a few ops from dolphin's ARM64 emitter.
|
2015-06-14 12:56:44 +02:00 |
|
Henrik Rydgard
|
4f3d18fcb7
|
Only swizzle written video if actually writing to VRAM
|
2015-06-14 12:07:09 +02:00 |
|
Henrik Rydgard
|
7e55b3ec96
|
Fix some GCC compiler warnings about potentially uninitialized variables (compilers are getting too clever..)
|
2015-06-14 11:32:13 +02:00 |
|
Unknown W. Brackets
|
e9094872d8
|
Oops, don't move imgbuf so we can free it.
|
2015-06-13 16:29:56 -07:00 |
|
Unknown W. Brackets
|
401bd35691
|
Swizzle video texture data on write to mirrors.
|
2015-06-13 16:29:56 -07:00 |
|
Henrik Rydgard
|
b56f21e4f0
|
More savedata UI polish
|
2015-06-12 14:46:34 +02:00 |
|
Henrik Rydgard
|
00094e0fcc
|
More work on savedata UI.
|
2015-06-12 11:40:50 +02:00 |
|