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.
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.
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.
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.
This func is used when showing videos, some loading screens, etc. Also
when uploading graphics to VRAM.
The implementation takes 85% less than without SSE, although it could
probably be optimized further. Won't help game runtime much, but may help
some loading times or special effects.
We don't need to save gpu stats at all, so don't, makes it easier to
change it and dunno if anyone defines double as other than 64 bits.
Also, apparently there was padding in the event state but not on all
platforms.
Don't even want dangerous funcs like SUB().
Keeping things in opcode order at least locally so it doesn't get
confusing to maintain. Also fixed a bunch of missing asserts.