Commit Graph
14759 Commits
Author SHA1 Message Date
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