Commit Graph
18709 Commits
Author SHA1 Message Date
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
Jan Beich d408d61137 build/qmake: allow downstream to override linguisttools path 2015-05-26 15:20:11 +03:00
Jan Beich a27723d91d build/cmake: add amd64 alias for x86_64
Affects at least FreeBSD and OpenBSD.
2015-05-26 15:20:11 +03:00
Jan Beich 75a3ea1f5e build/cmake: strnlen() hasn't appeared before in POSIX.1-2008, Issue 7
Core/Dialog/SavedataParam.cpp:269:26: error:
      use of undeclared identifier 'strnlen'
        return std::string(str, strnlen(str, n));
                                ^
Core/Dialog/SavedataParam.cpp:943:55: error:
      use of undeclared identifier 'strnlen'
                const std::string gameName(param->msData->gameName, strnlen(...
                                                                    ^
Core/Dialog/SavedataParam.cpp:944:55: error:
      use of undeclared identifier 'strnlen'
                const std::string saveName(param->msData->saveName, strnlen(...
                                                                    ^
Core/ELF/ElfReader.cpp:399:14: error:
      use of undeclared identifier 'strnlen'
                size_t n = strnlen(modInfo->name, 28);
                           ^
Core/HLE/sceKernelModule.cpp:903:15: error:
      use of undeclared identifier 'strnlen'
                        size_t n = strnlen(head->modname, 28);
                                   ^
2015-05-26 15:20:11 +03:00