Commit Graph
39166 Commits
Author SHA1 Message Date
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
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
Jan Beich 5f278b2d94 Unbreak build with SSE 4.1 (clang -march=penryn)
Common/ColorConv.cpp:199:33: error: use of undeclared identifier '_mm_packus_epi32';
      did you mean '_mm_packs_epi32'?
                _mm_store_si128(&dstp[i / 2], _mm_packus_epi32(c1, c2));
                                              ^~~~~~~~~~~~~~~~
                                              _mm_packs_epi32
/usr/bin/../lib/clang/3.6.0/include/emmintrin.h:1254:1: note: '_mm_packs_epi32'
      declared here
_mm_packs_epi32(__m128i __a, __m128i __b)
^
Common/ColorConv.cpp:241:33: error: use of undeclared identifier '_mm_packus_epi32';
      did you mean '_mm_packs_epi32'?
                _mm_store_si128(&dstp[i / 2], _mm_packus_epi32(c1, c2));
                                              ^~~~~~~~~~~~~~~~
                                              _mm_packs_epi32
/usr/bin/../lib/clang/3.6.0/include/emmintrin.h:1254:1: note: '_mm_packs_epi32'
      declared here
_mm_packs_epi32(__m128i __a, __m128i __b)
^
2 errors generated.

GPU/Common/TextureScalerCommon.cpp:294:6: error: unknown type name '__m128'
                                        __m128 result = _mm_set1_ps(0.0f);
                                        ^
GPU/Common/TextureScalerCommon.cpp:294:22: error: use of undeclared identifier
      '_mm_set1_ps'
                                        __m128 result = _mm_set1_ps(0.0f);
                                                        ^
GPU/Common/TextureScalerCommon.cpp:305:9: error: unknown type name '__m128i'
                                                                __m128i samp...
                                                                ^
GPU/Common/TextureScalerCommon.cpp:305:26: error: use of undeclared identifier
      '_mm_cvtsi32_si128'
  ...__m128i sample = _mm_cvtsi32_si128(data[csy*w + csx]);
                      ^
GPU/Common/TextureScalerCommon.cpp:307:9: error: unknown type name '__m128'
                                                                __m128 col ...
                                                                ^
GPU/Common/TextureScalerCommon.cpp:308:31: error: use of undeclared identifier
      '_mm_set1_ps'
  ...col = _mm_mul_ps(col, _mm_set1_ps(weight));
                           ^
GPU/Common/TextureScalerCommon.cpp:314:6: error: unknown type name '__m128i'
                                        __m128i pixel = _mm_cvtps_epi32(_mm_...
                                        ^
GPU/Common/TextureScalerCommon.cpp:314:57: error: use of undeclared identifier
      '_mm_set1_ps'
  ...__m128i pixel = _mm_cvtps_epi32(_mm_mul_ps(result, _mm_set1_ps(bicubicInvSum...
                                                        ^
8 errors generated.
2015-05-26 15:20:10 +03:00
KentuckyCompass 880697f40a Add NEON versions of the CheckAlpha family 2015-05-25 18:04:52 -07:00
Henrik Rydgard 64f20033d4 Profiler: More colors, allow more scaling 2015-05-26 01:11:54 +02:00
Henrik Rydgard fb5a3ef99b profiler: Compute the max correctly in area chart mode 2015-05-26 00:56:05 +02:00
Unknown W. Brackets ba77ad607e Erp, dumb typo. 2015-05-25 15:47:14 -07:00
Henrik Rydgard c8db6fed78 Update native 2015-05-26 00:43:11 +02:00
Henrik Rydgård 43744b0239 Merge pull request #7741 from hrydgard/frame-profiler
Frame profiler overlay
2015-05-26 00:42:01 +02:00
Henrik Rydgard 0b2a1dfe53 Profile a few more scopes 2015-05-26 00:39:27 +02:00
Jan Beich 5984a4aa1c file: sync stat64 #ifdef with ppsspp 2015-05-25 14:37:22 -07:00
Henrik Rydgård 233233b5c6 Merge pull request #7771 from unknownbrackets/colorconv
Rename some color conversion funcs
2015-05-25 20:03:28 +02:00
Unknown W. Brackets 4110a24d8f Fix Direct3D9 framebuffer upload conversion funcs.
All of the 16 bit formats were, afaict, wrong in different ways.
2015-05-25 10:47:37 -07:00
Unknown W. Brackets 539a7b1772 Correct order in ConvertRGBA4444ToRGBA8888().
I assume this is right, since it's pulling in a 4444 tex from PSP VRAM.
2015-05-25 10:32:23 -07:00
Unknown W. Brackets b0a825ea9f Small optimization to ConvertRGBA5551ToRGBA8888(). 2015-05-25 10:31:27 -07:00
Unknown W. Brackets 5d244229ba Silence a type conversion warning. 2015-05-25 10:07:05 -07:00
Henrik Rydgård 1433440a47 Merge pull request #271 from jbeich/bsd_misc
Miscellaneous portability fixes
2015-05-25 19:04:36 +02:00
Jan Beich b9b02eb403 DragonFly has bswap* like FreeBSD, Bitrig - like OpenBSD 2015-05-25 19:23:31 +03:00
Jan Beich 7af88bf50e ext/stb_vorbis: alloca() is in stdlib.h on BSDs as well
ext/stb_vorbis/stb_vorbis.c:19:10: fatal error: 'alloca.h' file not found
2015-05-25 19:23:31 +03:00
Jan Beich babb5036e6 net: don't add #ifdefs for POSIX headers
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/netinet_in.h.html
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/arpa_inet.h.html
2015-05-25 19:23:31 +03:00
Jan Beich 4593b22bbe net: remove dead (pre WaitUntilReady?) code accidentally found via
native/net/http_headers.cpp: In member function 'void http::RequestHeader::ParseHeaders(int)':
native/net/http_headers.cpp:136:12: error: 'timeval' in namespace '::' does not name a type
   struct ::timeval tv;
            ^
native/net/http_headers.cpp:137:6: error: request for member 'tv_sec' in 'tv', which is of non-class type 'int'
   tv.tv_sec = 5;
      ^
native/net/http_headers.cpp:138:6: error: request for member 'tv_usec' in 'tv', which is of non-class type 'int'
   tv.tv_usec = 0;
      ^
2015-05-25 19:22:35 +03:00
Jan Beich bad9806687 file: extend #ifdef for any recent Unix with large file support by default
At least other BSDs still fail with

file/file_util.cpp: In function 'bool exists(const string&)':
file/file_util.cpp:172:16: error: aggregate 'exists(const string&)::stat64 file_info' has incomplete type and cannot be defined
  struct stat64 file_info;
                ^
file/file_util.cpp:177:46: error: invalid use of incomplete type 'struct exists(const string&)::stat64'
  int result = stat64(copy.c_str(), &file_info);
                                              ^
file/file_util.cpp:172:9: note: forward declaration of 'struct exists(const string&)::stat64'
  struct stat64 file_info;
         ^
file/file_util.cpp: In function 'bool getFileInfo(const char*, FileInfo*)':
file/file_util.cpp:207:16: error: aggregate 'getFileInfo(const char*, FileInfo*)::stat64 file_info' has incomplete type and cannot be defined
  struct stat64 file_info;
                ^
file/file_util.cpp:212:46: error: invalid use of incomplete type 'struct getFileInfo(const char*, FileInfo*)::stat64'
  int result = stat64(copy.c_str(), &file_info);
                                              ^
file/file_util.cpp:207:9: note: forward declaration of 'struct getFileInfo(const char*, FileInfo*)::stat64'
  struct stat64 file_info;
         ^
2015-05-25 19:03:47 +03:00
Henrik Rydgård 03a572ada0 Merge pull request #7768 from unknownbrackets/texcache
Use SSE in CheckAlpha scanning
2015-05-25 17:08:29 +02:00
Unknown W. Brackets f78acfb867 Cleanup a few things in SSE CheckAlpha. 2015-05-25 07:39:31 -07:00
Unknown W. Brackets c75010931c Use SSE in CheckAlpha scanning. 2015-05-24 22:55:43 -07:00
Unknown W. Brackets a82fc0e5f7 Merge pull request #7766 from angelXwind/master
Map right thumbstick as another analog stick on iOS.
2015-05-24 19:52:23 -07:00
Karen Tsai 3501d9348d Map right thumbstick as another analog stick, particularly useful for controllers like the DualShock 3/4 when connected to an iOS device. Fixes #7762 2015-05-24 20:46:56 -04:00
Henrik Rydgard 7f69c5fa5e Buildfix 2015-05-24 23:50:53 +02:00
Henrik Rydgard 779d9729be Update native 2015-05-24 23:46:16 +02:00
Unknown W. Brackets 38d0cfe159 Make the legend width a bit more dynamic. 2015-05-24 23:45:40 +02: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 6b1df631a6 Move the texcache measurements to strictly include only actual texture loading, and not framebuffer shenanigans etc. 2015-05-24 23:45:39 +02:00
Henrik Rydgard 9e15f04f15 Better colors in profiler 2015-05-24 23:45:38 +02:00
Henrik Rydgard 2e26a4798e Scale the frame profiler graph dynamically 2015-05-24 23:45:37 +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 Rydgård 81a78e81a9 Merge pull request #270 from unknownbrackets/frame-profiler
Track frame events with sub-events carved out
2015-05-24 23:40:06 +02:00
Unknown W. Brackets 22ab3a4bde Track frame events with sub-events carved out.
Simply by using a fixed-size stack.
2015-05-24 14:34:52 -07:00
Unknown W. Brackets ded92aa977 Resize here just to be safe.
Not that a texture ought to be > 2MB, but in case we lower that initial
buffer size or something.
2015-05-24 11:06:34 -07:00
Unknown W. Brackets 3b96bf8712 Oops, typo. 2015-05-23 12:20:00 -07:00
Henrik Rydgård 1f11d010a6 Merge pull request #7763 from unknownbrackets/colorconv
Use NEON for GL texture color conversion
2015-05-23 21:15:33 +02:00
Unknown W. Brackets 4900bc9082 Add a NEON 4444 flip color conversion func. 2015-05-23 11:30:07 -07:00
Unknown W. Brackets df53bc2e7b Add a NEON 565 flip colorconv function. 2015-05-23 11:30:06 -07:00
Unknown W. Brackets bbe15d2518 Add a NEON color conv for 5551 -> 1555. 2015-05-23 11:30:06 -07:00