18662 Commits

Author SHA1 Message Date
Henrik Rydgard
f356b0c644 Minor swrast opt 2015-06-11 20:23:53 +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 Rydgard
32a75bea46 Add an FLOG if profiler depth goes negative. Make Crash()/FLOG actually crash on win64. 2015-06-11 18:43:59 +02:00
Henrik Rydgard
8ec48507f1 Software rasterizer: Fix skinning transforms 2015-06-11 17:00:44 +02:00
Henrik Rydgard
842817c91d Add fog support to software rasterizer (as if it wasn't slow enough already) 2015-06-11 16:01:17 +02:00
Henrik Rydgard
316d6ab84d Fix another bug in the profiler, that would happily overwrite memory. 2015-06-11 16:00:12 +02:00
Henrik Rydgard
7e2f37abc1 Update native with profiler fix. Profile the SW rast a little. 2015-06-11 12:44:45 +02:00
Henrik Rydgard
5736f3aba6 Shouldn't check for NEON on ARM64 2015-06-11 12:44:45 +02:00
Henrik Rydgard
93a7d0c67e Profiler: Handle category 0 correctly when suspending parent categories. Small optimization + sanity checks. 2015-06-11 12:15:38 +02:00
Henrik Rydgård
eb1fd7bdb3 Merge pull request #7805 from unknownbrackets/gameinfo-fds
Limit time GameInfo file loaders are kept open
2015-06-10 23:18:03 +02:00
Unknown W. Brackets
4fa529db50 Potentially reuse a cached file loader.
Although right now we always dispose, this just makes it so we could more
easily garbage collect them if we wanted.
2015-06-09 23:19:09 -07:00
Unknown W. Brackets
2d0bc5eeee Limit time GameInfo file loaders are kept open. 2015-06-09 23:16:59 -07:00
Unknown W. Brackets
c8f82cc262 Merge pull request #7803 from convalise/master
Update iOS icons
2015-06-09 18:33:44 -07:00
Conrado
6d00a7722e Changed iOS icons to follow Apple directives (PNG24 with no transparency and no rounded corners). 2015-06-08 22:53:53 -03:00
Maxime Gauduin
983ae517e1 Try to dynamically link against system ffmpeg when possible 2015-06-01 23:03:37 +02:00
Henrik Rydgård
403f6ab537 Fix broken default positioning of L/R touch controls 2015-05-31 18:25:43 +02:00
Henrik Rydgård
268aed482d Merge branch 'KentuckyCompass-CheckAlphaNEON' 2015-05-31 12:29:46 +02:00
Henrik Rydgård
2a1f6bca97 Fix NEON 4444 CheckAlpha, workaround for failed bNEON detection on ARM64 2015-05-31 12:29:08 +02:00
Henrik Rydgård
7b50ec7b75 Merge branch 'CheckAlphaNEON' of git://github.com/KentuckyCompass/ppsspp into KentuckyCompass-CheckAlphaNEON 2015-05-31 12:00:10 +02:00
Henrik Rydgård
bc96afa14b gitignore 2015-05-30 22:26:07 +02:00
Unknown W. Brackets
90093faffc Ensure headless doesn't crash when profiler on.
Obviously, the frame profiler graph isn't very useful in headless (maybe
it could be?) but at least, it's nice to not have to change the .h and
rebuild all kinds of files when using headless for testing.
2015-05-30 12:53:57 -07:00
Henrik Rydgard
c87b7587ce Update submodules 2015-05-30 21:24:14 +02:00
Henrik Rydgard
90c2ef38bd Make Native also target android-22 (oversight) 2015-05-30 21:22:09 +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
8258a7341e Soften the outline a bit and fix overlap. 2015-05-28 07:29:05 -07:00
Henrik Rydgård
c5ea38f996 Update native 2015-05-28 13:05:22 +02:00
Henrik Rydgård
cbe1a1890e Merge pull request #7772 from jbeich/bsd_misc
Miscellaneous portability fixes
2015-05-28 13:05:02 +02:00
Henrik Rydgård
9fe3f59aaf Merge pull request #272 from jbeich/xdg-open
Make Launch{Browser,Market,Email} work on any Unix desktop
2015-05-28 12:22:27 +02:00
Unknown W. Brackets
fd4e14ee0d Merge pull request #7779 from jbeich/unittest_case
unittest: avoid build error on case-sensitive filesystems
2015-05-27 23:27:54 -07:00
Jan Beich
0b66a0a03c unittest: avoid build error on case-sensitive filesystems
unittest/TestArm64Emitter.cpp:1:10: fatal error: 'Common/ARM64Emitter.h' file not found
unittest/TestX64Emitter.cpp:1:10: fatal error: 'Common/X64Emitter.h' file not found
2015-05-28 06:02:59 +00:00
Unknown W. Brackets
d323dd472f Account for io sync time in io statistics. 2015-05-27 20:02:09 -07:00
Unknown W. Brackets
41d54cbcbc Adjust frame profiler graph to be more readable. 2015-05-27 20:01:54 -07:00
Henrik Rydgård
4d4d188a94 Merge pull request #7776 from angelXwind/master
Properly post lost_focus and got_focus notifications when iOS app resigns active state and gains active state. Fixes #7758 — Also remove extraneous ICNS/MacOS assets from iOS build
2015-05-27 14:20:55 +02:00
Karen Tsai
8a57e8cda3 Do not copy ICNS assets (iOS uses PNGs) or generate a MacOS folder when building for iOS 2015-05-27 03:37:49 -04:00
Karen Tsai
dbd15420f5 Properly post lost_focus and got_focus notifications when iOS app resigns active state and gains active state. Fixes #7758 2015-05-27 02:35:09 -04:00
Jan Beich
de60aad2ab base: fallback to Unix desktop, not mobile 2015-05-26 18:07:43 +03:00
Jan Beich
d0c5c1e659 Common: also use sysctl(3) code on GNU/kFreeBSD 2015-05-26 14:11:23 +00:00
Jan Beich
bd4b0840a3 UI: allow editing cheat file on any Unix desktop 2015-05-26 15:23:19 +03:00
Jan Beich
0af2bfe11c UI: search for assets under /usr/share on any Unix desktop 2015-05-26 15:23:19 +03: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
9887244759 Common: implement GetExeDirectory on some BSDs 2015-05-26 15:20:12 +03:00
Jan Beich
2eb1d578dd Common: check against MAP_FAILED on every Unix after mmap()
This is required by POSIX but may matter only in MAX_FIXED case.
2015-05-26 15:20:11 +03:00
Jan Beich
b24b12f4a0 Common: DragonFly needs MAP_NOSYNC as well 2015-05-26 15:20:11 +03:00
Jan Beich
61c106c57f Common: avoid redefining bswap* via <sys/types.h> on BSDs
In file included from Common/CPUDetect.cpp:27:
In file included from Common/Common.h:139:
Common/Swap.h:76:23: error:
      C++ requires a type specifier for all declarations
inline unsigned short bswap16(unsigned short x) { return (x << 8) | (x >> 8); }
                      ^
/usr/include/sys/endian.h:59:20: note: expanded from macro 'bswap16'
                        ^
/usr/include/x86/endian.h:74:16: note: expanded from macro '__bswap16'
        ((__uint16_t)(__builtin_constant_p(x) ? \
                      ^
In file included from Common/CPUDetect.cpp:27:
In file included from Common/Common.h:139:
Common/Swap.h:76:23: error:
      expected ')'
/usr/include/sys/endian.h:59:20: note: expanded from macro 'bswap16'
                        ^
/usr/include/x86/endian.h:74:40: note: expanded from macro '__bswap16'
        ((__uint16_t)(__builtin_constant_p(x) ? \
                                              ^
Common/Swap.h:76:23: note:
      to match this '('
/usr/include/sys/endian.h:59:20: note: expanded from macro 'bswap16'
                        ^
/usr/include/x86/endian.h:74:15: note: expanded from macro '__bswap16'
        ((__uint16_t)(__builtin_constant_p(x) ? \
                     ^
In file included from Common/CPUDetect.cpp:27:
In file included from Common/Common.h:139:
Common/Swap.h:76:59: error:
      use of undeclared identifier 'x'
inline unsigned short bswap16(unsigned short x) { return (x << 8) | (x >> 8); }
                                                          ^
Common/Swap.h:76:70: error:
      use of undeclared identifier 'x'
inline unsigned short bswap16(unsigned short x) { return (x << 8) | (x >> 8); }
                                                                     ^
Common/Swap.h:77:21: error:
      expected ')'
inline unsigned int bswap32(unsigned int x) { return (x >> 24) | ((x & 0xFF0...
                    ^
/usr/include/sys/endian.h:60:20: note: expanded from macro 'bswap32'
                        ^
/usr/include/x86/endian.h:77:27: note: expanded from macro '__bswap32'
        (__builtin_constant_p(x) ?      \
                                 ^
Common/Swap.h:77:21: note:
      to match this '('
/usr/include/sys/endian.h:60:20: note: expanded from macro 'bswap32'
                        ^
/usr/include/x86/endian.h:77:2: note: expanded from macro '__bswap32'
        (__builtin_constant_p(x) ?      \
        ^
In file included from Common/CPUDetect.cpp:27:
In file included from Common/Common.h:139:
Common/Swap.h:77:21: error:
      functions that differ only in their return type cannot be overloaded
inline unsigned int bswap32(unsigned int x) { return (x >> 24) | ((x & 0xFF0...
                    ^
/usr/include/sys/endian.h:60:20: note: expanded from macro 'bswap32'
                        ^
/usr/include/x86/endian.h:77:3: note: expanded from macro '__bswap32'
        (__builtin_constant_p(x) ?      \
         ^
native/base/basictypes.h:92:44: note:
      previous implicit declaration is here
inline uint16 swap16(uint16 _data) {return bswap16(_data);}
                                           ^
/usr/include/sys/endian.h:59:20: note: expanded from macro 'bswap16'
                        ^
/usr/include/x86/endian.h:74:16: note: expanded from macro '__bswap16'
        ((__uint16_t)(__builtin_constant_p(x) ? \
                      ^
In file included from Common/CPUDetect.cpp:27:
In file included from Common/Common.h:139:
Common/Swap.h:78:27: error:
      expected ')'
inline unsigned long long bswap64(unsigned long long x) { return ((unsigned ...
                          ^
/usr/include/sys/endian.h:61:20: note: expanded from macro 'bswap64'
                        ^
/usr/include/x86/endian.h:80:27: note: expanded from macro '__bswap64'
        (__builtin_constant_p(x) ?      \
                                 ^
Common/Swap.h:78:27: note:
      to match this '('
/usr/include/sys/endian.h:61:20: note: expanded from macro 'bswap64'
                        ^
/usr/include/x86/endian.h:80:2: note: expanded from macro '__bswap64'
        (__builtin_constant_p(x) ?      \
        ^
In file included from Common/CPUDetect.cpp:27:
In file included from Common/Common.h:139:
Common/Swap.h:78:27: error:
      functions that differ only in their return type cannot be overloaded
inline unsigned long long bswap64(unsigned long long x) { return ((unsigned ...
                          ^
/usr/include/sys/endian.h:61:20: note: expanded from macro 'bswap64'
                        ^
/usr/include/x86/endian.h:80:3: note: expanded from macro '__bswap64'
        (__builtin_constant_p(x) ?      \
         ^
native/base/basictypes.h:92:44: note:
      previous implicit declaration is here
inline uint16 swap16(uint16 _data) {return bswap16(_data);}
                                           ^
/usr/include/sys/endian.h:59:20: note: expanded from macro 'bswap16'
                        ^
/usr/include/x86/endian.h:74:16: note: expanded from macro '__bswap16'
        ((__uint16_t)(__builtin_constant_p(x) ? \
                      ^
8 errors generated.
2015-05-26 15:20:11 +03:00
Jan Beich
05e5085f68 Common: drop bogus #ifdef for FreeBSD
Common/CPUDetect.cpp:70:2: error: use of undeclared identifier '__cpuidex'; did you mean 'do_cpuidex'?
        __cpuidex((int *)regs, cpuid_leaf, ecxval);
        ^~~~~~~~~
        do_cpuidex
Common/CPUDetect.cpp:69:6: note: 'do_cpuidex' declared here
void do_cpuidex(u32 regs[4], u32 cpuid_leaf, u32 ecxval) {
     ^
Common/CPUDetect.cpp:70:12: error: cannot initialize a parameter of type 'u32 *' (aka 'unsigned int *') with an rvalue of type 'int *'
        __cpuidex((int *)regs, cpuid_leaf, ecxval);
                  ^~~~~~~~~~~
Common/CPUDetect.cpp:69:21: note: passing argument to parameter 'regs' here
void do_cpuidex(u32 regs[4], u32 cpuid_leaf, u32 ecxval) {
                    ^
Common/CPUDetect.cpp:73:2: error: use of undeclared identifier '__cpuid'; did you mean 'do_cpuid'?
        __cpuid((int *)regs, cpuid_leaf);
        ^~~~~~~
        do_cpuid
Common/CPUDetect.cpp:72:6: note: 'do_cpuid' declared here
void do_cpuid(u32 regs[4], u32 cpuid_leaf) {
     ^
Common/CPUDetect.cpp:73:10: error: cannot initialize a parameter of type 'u32 *' (aka 'unsigned int *') with an rvalue of type 'int *'
        __cpuid((int *)regs, cpuid_leaf);
                ^~~~~~~~~~~
Common/CPUDetect.cpp:72:19: note: passing argument to parameter 'regs' here
void do_cpuid(u32 regs[4], u32 cpuid_leaf) {
                  ^
4 errors generated.
2015-05-26 15:20:11 +03:00
Jan Beich
59a21dbfcb Common: try to unbreak StdMutex.h on more C++11 compilers
Clang still pretends as GCC 4.2.1 even with libc++ or newer libstdc++.

In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
In file included from Common/LogManager.h:26:
Common/StdMutex.h:197:28: error:
      reference to 'adopt_lock_t' is ambiguous
        lock_guard(mutex_type& m, adopt_lock_t)
                                  ^
Common/StdMutex.h:183:6: note:
      candidate found by name lookup is 'std::adopt_lock_t'
enum adopt_lock_t { adopt_lock };
     ^
/usr/include/c++/v1/__mutex_base:55:25: note: candidate found by name lookup is
      'std::__1::adopt_lock_t'
struct _LIBCPP_TYPE_VIS adopt_lock_t {};
                        ^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
In file included from Common/LogManager.h:26:
Common/StdMutex.h:230:29: error:
      reference to 'defer_lock_t' is ambiguous
        unique_lock(mutex_type& m, defer_lock_t)
                                   ^
Common/StdMutex.h:181:6: note:
      candidate found by name lookup is 'std::defer_lock_t'
enum defer_lock_t { defer_lock };
     ^
/usr/include/c++/v1/__mutex_base:53:25: note: candidate found by name lookup is
      'std::__1::defer_lock_t'
struct _LIBCPP_TYPE_VIS defer_lock_t {};
                        ^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
In file included from Common/LogManager.h:26:
Common/StdMutex.h:234:29: error:
      reference to 'try_to_lock_t' is ambiguous
        unique_lock(mutex_type& m, try_to_lock_t)
                                   ^
Common/StdMutex.h:182:6: note:
      candidate found by name lookup is 'std::try_to_lock_t'
enum try_to_lock_t { try_to_lock };
     ^
/usr/include/c++/v1/__mutex_base:54:25: note: candidate found by name lookup is
      'std::__1::try_to_lock_t'
struct _LIBCPP_TYPE_VIS try_to_lock_t {};
                        ^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
In file included from Common/LogManager.h:26:
Common/StdMutex.h:238:29: error:
      reference to 'adopt_lock_t' is ambiguous
        unique_lock(mutex_type& m, adopt_lock_t)
                                   ^
Common/StdMutex.h:183:6: note:
      candidate found by name lookup is 'std::adopt_lock_t'
enum adopt_lock_t { adopt_lock };
     ^
/usr/include/c++/v1/__mutex_base:55:25: note: candidate found by name lookup is
      'std::__1::adopt_lock_t'
struct _LIBCPP_TYPE_VIS adopt_lock_t {};
                        ^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
In file included from Common/LogManager.h:26:
Common/StdMutex.h:345:6: warning:
      variable templates are a C++14 extension [-Wc++14-extensions]
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
     ^
Common/StdMutex.h:345:6: error:
      variable has incomplete type 'void'
Common/StdMutex.h:345:11: error:
      reference to 'unique_lock' is ambiguous
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
          ^
Common/StdMutex.h:215:7: note:
      candidate found by name lookup is 'std::unique_lock'
class unique_lock
      ^
/usr/include/c++/v1/__mutex_base:96:29: note: candidate found by name lookup is
      'std::__1::unique_lock'
class _LIBCPP_TYPE_VIS_ONLY unique_lock
                            ^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
In file included from Common/LogManager.h:26:
Common/StdMutex.h:345:23: error:
      'Mutex' does not refer to a value
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
                      ^
Common/StdMutex.h:344:17: note:
      declared here
template <class Mutex>
                ^
Common/StdMutex.h:345:31: error:
      use of undeclared identifier 'x'
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
                              ^
Common/StdMutex.h:345:34: error:
      reference to 'unique_lock' is ambiguous
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
                                 ^
Common/StdMutex.h:215:7: note:
      candidate found by name lookup is 'std::unique_lock'
class unique_lock
      ^
/usr/include/c++/v1/__mutex_base:96:29: note: candidate found by name lookup is
      'std::__1::unique_lock'
class _LIBCPP_TYPE_VIS_ONLY unique_lock
                            ^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
In file included from Common/LogManager.h:26:
Common/StdMutex.h:345:46: error:
      'Mutex' does not refer to a value
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
                                             ^
Common/StdMutex.h:344:17: note:
      declared here
template <class Mutex>
                ^
Common/StdMutex.h:345:54: error:
      use of undeclared identifier 'y'
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
                                                     ^
Common/StdMutex.h:345:56: error:
      expected ';' at end of declaration
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
                                                       ^
                                                       ;
Common/StdMutex.h:346:1: error:
      expected unqualified-id
{
^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
Common/LogManager.h:54:7: error:
      reference to 'mutex' is ambiguous
        std::mutex m_log_lock;
             ^
/usr/include/c++/v1/__mutex_base:27:24: note: candidate found by name lookup is
      'std::__1::mutex'
class _LIBCPP_TYPE_VIS mutex
                       ^
Common/StdMutex.h:107:7: note:
      candidate found by name lookup is 'std::mutex'
class mutex
      ^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
Common/LogManager.h:116:7: error:
      reference to 'mutex' is ambiguous
        std::mutex m_listeners_lock;
             ^
/usr/include/c++/v1/__mutex_base:27:24: note: candidate found by name lookup is
      'std::__1::mutex'
class _LIBCPP_TYPE_VIS mutex
                       ^
Common/StdMutex.h:107:7: note:
      candidate found by name lookup is 'std::mutex'
class mutex
      ^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
Common/LogManager.h:131:7: error:
      reference to 'mutex' is ambiguous
        std::mutex log_lock_;
             ^
/usr/include/c++/v1/__mutex_base:27:24: note: candidate found by name lookup is
      'std::__1::mutex'
class _LIBCPP_TYPE_VIS mutex
                       ^
Common/StdMutex.h:107:7: note:
      candidate found by name lookup is 'std::mutex'
class mutex
      ^
1 warning and 16 errors generated.
2015-05-26 15:20:11 +03:00
Jan Beich
e58ffeb3f8 build/qmake: not every Unix wants libdl/librt
/usr/bin/ld: cannot find -ldl
2015-05-26 15:20:11 +03:00
Jan Beich
2a53666d79 build/qmake: only use bundled zlib headers without system-zlib 2015-05-26 15:20:11 +03:00