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
Henrik Rydgard
381e0c0fe3
Implement basic savedata UI. Not much actual functionality yet but can browse saves and states.
2015-06-11 23:59:02 +02:00
Henrik Rydgard
084aad74c3
Make GameInfoCache understand PSP savedata as a "game" type. Use it to create a basic savedata listing screen.
2015-06-11 20:22:16 +02:00
Henrik Rydgård
ee1299b8f2
Merge pull request #7778 from unknownbrackets/frame-profiler
...
Improve frame profiler display a bit more
2015-05-28 19:02:46 +02:00
Unknown W. Brackets
d323dd472f
Account for io sync time in io statistics.
2015-05-27 20:02:09 -07:00
Jan Beich
87be57a1fa
Core: report every BSD as distinct operating system
...
Each one has different kernel and userland. They do cross-pollinate
frequently but otherwise do not try to be compatible.
2015-05-26 15:23:19 +03:00
Jan Beich
803e02e224
Core: assume modern Unix has tm_gmtoff
...
Core/HLE/sceRtc.cpp:471:14: error: invalid argument type 'char *(*)(int, int)' to
unary expression
srcTick -= -timezone * 1000000ULL;
^~~~~~~~~
Core/HLE/sceRtc.cpp:498:14: error: invalid argument type 'char *(*)(int, int)' to
unary expression
srcTick += -timezone * 1000000ULL;
^~~~~~~~~
Core/HLE/sceRtc.cpp:1035:16: error: invalid argument type 'char *(*)(int, int)' to
unary expression
tz_seconds = -timezone;
^~~~~~~~~
Core/HLE/sceRtc.cpp:1074:16: error: invalid argument type 'char *(*)(int, int)' to
unary expression
tz_seconds = -timezone;
^~~~~~~~~
4 errors generated.
2015-05-26 15:20:12 +03:00
Jan Beich
57c5e7d9ac
Core: drop unused <malloc.h> header
2015-05-26 15:20:12 +03:00
Jan Beich
a4eb49f009
Unbreak build with FakeJit
...
Core/MIPS/fake/FakeJit.cpp:141:46: error:
unknown type name 'FakeJitBlock'; did you mean 'JitBlock'?
const u8 *FakeJit::DoFakeJit(u32 em_address, FakeJitBlock *b)
^~~~~~~~~~~~
JitBlock
Core/MIPS/JitCommon/JitBlockCache.h:59:8: note:
'JitBlock' declared here
struct JitBlock {
^
Core/MIPS/fake/FakeJit.cpp:141:20: error:
out-of-line definition of 'DoFakeJit' does not match any declaration in
'MIPSComp::FakeJit'
const u8 *FakeJit::DoFakeJit(u32 em_address, FakeJitBlock *b)
^~~~~~~~~
Core/HLE/ReplaceTables.cpp:1044:29: error:
use of undeclared identifier 'JITFUNC'
{ "fabsf", &Replace_fabsf, JITFUNC(Replace_fabsf), REPFLAG_ALLOWINLI...
^
Core/HLE/ReplaceTables.cpp:1101:27: error:
invalid application of 'sizeof' to an incomplete type 'const
ReplacementTableEntry []'
for (int i = 0; i < (int)ARRAY_SIZE(entries); i++) {
^~~~~~~~~~~~~~~~~~~
native/math/../base/basictypes.h:67:30: note:
expanded from macro 'ARRAY_SIZE'
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
^~~
Core/HLE/ReplaceTables.cpp:1117:9: error:
invalid application of 'sizeof' to an incomplete type 'const
ReplacementTableEntry []'
return ARRAY_SIZE(entries);
^~~~~~~~~~~~~~~~~~~
native/math/../base/basictypes.h:67:30: note:
expanded from macro 'ARRAY_SIZE'
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
^~~
Core/MIPS/JitCommon/JitCommon.cpp:31:2: error:
unknown type name 'Jit'
Jit *jit;
^
Core/MIPS/JitCommon/JitCommon.cpp:100:21: error:
no member named 'Asm' in 'MIPSComp::FakeJit'
if (MIPSComp::jit->Asm().IsInSpace((u8 *)(intptr_t)addr)) {
~~~~~~~~~~~~~ ^
Core/MIPS/JitCommon/JitCommon.cpp:101:45: error:
no member named 'Asm' in 'MIPSComp::FakeJit'
*offset = addr - (uint64_t)MIPSComp::jit->Asm().GetBasePtr();
~~~~~~~~~~~~~ ^
Core/MemMap.cpp:197:57: error:
use of undeclared identifier 'MEMVIEW32_MASK'
...position, view.size, base + (view.virtual_address & MEMVIEW32_MASK));
^
2015-05-26 15:20:10 +03:00
Henrik Rydgard
6f4cea860c
Split texture load profiling into decode and load/replace. Make profiler work on Android.
2015-05-24 23:45:40 +02:00
Henrik Rydgard
26624709f7
Hook up the frame profiler to a few measurements
2015-05-24 23:45:36 +02:00
Henrik Rydgard
0595a76556
Start integrating the new frame profiler
2015-05-24 23:45:36 +02:00
Henrik Rydgard
18655d14a4
Release PSP buttons when losing gameplay focus, fixes part 1 of #7758 , and part 2 of #7758 on Windows only.
2015-05-21 10:49:47 +02:00
Henrik Rydgard
ee81c7f1a1
Rotate controls along with the display. Only rotates d-pad and analog stick, but easy to add more buttons if desired.
2015-05-15 18:49:54 +02:00