Fix clang compile

This commit is contained in:
JusicP 2021-04-28 18:24:16 +03:00
parent c70e496e72
commit d349b1769a
15 changed files with 65 additions and 47 deletions

View File

@ -336,8 +336,11 @@ void CTextConsoleUnix::ShutDown()
pthread_t tid = g_threadid;
g_threadid = (pthread_t)-1;
#if defined ( ANDROID )
pthread_kill( tid, SIGUSR1 );
#else
pthread_cancel( tid );
#endif
pthread_join( tid, &status );
}

View File

@ -343,8 +343,8 @@ public:
bool IsOverlapping( const Extent &extent ) const; // return true if 'extent' overlaps our 2D extents
bool IsOverlappingX( const CNavArea *area ) const; // return true if 'area' overlaps our X extent
bool IsOverlappingY( const CNavArea *area ) const; // return true if 'area' overlaps our Y extent
inline float GetZ( const Vector * RESTRICT pPos ) const ; // return Z of area at (x,y) of 'pos'
inline float GetZ( const Vector &pos ) const; // return Z of area at (x,y) of 'pos'
inline float GetZ( const Vector * RESTRICT pPos ) const RESTRICT ; // return Z of area at (x,y) of 'pos'
inline float GetZ( const Vector &pos ) const RESTRICT; // return Z of area at (x,y) of 'pos'
float GetZ( float x, float y ) const RESTRICT; // return Z of area at (x,y) of 'pos'
bool Contains( const Vector &pos ) const; // return true if given point is on or above this area, but no others
bool Contains( const CNavArea *area ) const;

2
ivp

@ -1 +1 @@
Subproject commit 58cb1243b4b2b005eeed808df84e994942c84751
Subproject commit 64e06cde5f7b651eb794a5c46ac1ceae198ec182

View File

@ -113,7 +113,7 @@ private:
float *pFloatImageBump3, int pLightmapSize[2], int pOffsetIntoLightmapPage[2], FloatBitMap_t *pfmOut );
void BumpedLightmapBitsToPixelWriter_HDRI( float* pFloatImage, float *pFloatImageBump1, float *pFloatImageBump2,
float *pFloatImageBump3, int pLightmapSize[2], int pOffsetIntoLightmapPage[2], FloatBitMap_t *pfmOut );
float *pFloatImageBump3, int pLightmapSize[2], int pOffsetIntoLightmapPage[2], FloatBitMap_t *pfmOut ) RESTRICT;
void LightmapBitsToPixelWriter_LDR( float* pFloatImage, int pLightmapSize[2], int pOffsetIntoLightmapPage[2], FloatBitMap_t *pfmOut );
void LightmapBitsToPixelWriter_HDRF( float* pFloatImage, int pLightmapSize[2], int pOffsetIntoLightmapPage[2], FloatBitMap_t *pfmOut );

View File

@ -4243,6 +4243,13 @@ ZRESULT TUnzip::Unzip(int index,void *dst,unsigned int len,DWORD flags)
{
#ifdef _WIN32
SetFileTime(h,&ze.ctime,&ze.atime,&ze.mtime);
#elif defined( ANDROID )
struct timespec ts[2];
ts[0].tv_sec = ze.atime;
ts[0].tv_nsec = 0;
ts[1].tv_sec = ze.mtime;
ts[1].tv_nsec = 0;
utimensat((int)h, NULL, ts, 0);
#else
struct timeval tv[2];
tv[0].tv_sec = ze.atime;

View File

@ -1244,11 +1244,11 @@ inline void CVertexBuilder::FastVertexSSE( const ModelVertexDX7_t &vertex )
const char *pRead = (char *)&vertex;
char *pCurrPos = (char *)m_pCurrPosition;
__m128 m1 = _mm_load_ps( (float *)pRead );
__m128 m2 = _mm_load_ps( (float *)(pRead + 16) );
__m128 m3 = _mm_load_ps( (float *)(pRead + 32) );
__m128 m2 = _mm_load_ps( (float *)((int)pRead + 16) );
__m128 m3 = _mm_load_ps( (float *)((int)pRead + 32) );
_mm_stream_ps( (float *)pCurrPos, m1 );
_mm_stream_ps( (float *)(pCurrPos + 16), m2 );
_mm_stream_ps( (float *)(pCurrPos + 32), m3 );
_mm_stream_ps( (float *)((int)pCurrPos + 16), m2 );
_mm_stream_ps( (float *)((int)pCurrPos + 32), m3 );
#else
Error( "Implement CMeshBuilder::FastVertexSSE(dx7)" );
#endif
@ -1436,13 +1436,13 @@ inline void CVertexBuilder::FastVertexSSE( const ModelVertexDX8_t &vertex )
:: "r" (pRead), "r" (pCurrPos) : "memory"); */
__m128 m1 = _mm_load_ps( (float *)pRead );
__m128 m2 = _mm_load_ps( (float *)(pRead + 16) );
__m128 m3 = _mm_load_ps( (float *)(pRead + 32) );
__m128 m4 = _mm_load_ps( (float *)(pRead + 48) );
__m128 m2 = _mm_load_ps( (float *)((int)pRead + 16) );
__m128 m3 = _mm_load_ps( (float *)((int)pRead + 32) );
__m128 m4 = _mm_load_ps( (float *)((int)pRead + 48) );
_mm_stream_ps( (float *)pCurrPos, m1 );
_mm_stream_ps( (float *)(pCurrPos + 16), m2 );
_mm_stream_ps( (float *)(pCurrPos + 32), m3 );
_mm_stream_ps( (float *)(pCurrPos + 48), m4 );
_mm_stream_ps( (float *)((int)pCurrPos + 16), m2 );
_mm_stream_ps( (float *)((int)pCurrPos + 32), m3 );
_mm_stream_ps( (float *)((int)pCurrPos + 48), m4 );
#else
Error( "Implement CMeshBuilder::FastVertexSSE((dx8)" );
#endif

View File

@ -42,28 +42,28 @@ public:
FORCEINLINE void ActivateByteSwapping( bool bSwap );
#endif
FORCEINLINE void Seek( int x, int y );
FORCEINLINE void* SkipBytes( int n );
FORCEINLINE void Seek( int x, int y ) RESTRICT;
FORCEINLINE void* SkipBytes( int n ) RESTRICT;
FORCEINLINE void SkipPixels( int n );
FORCEINLINE void WritePixel( int r, int g, int b, int a = 255 );
FORCEINLINE void WritePixelNoAdvance( int r, int g, int b, int a = 255 );
FORCEINLINE void WritePixelNoAdvance( int r, int g, int b, int a = 255 ) RESTRICT;
FORCEINLINE void WritePixelSigned( int r, int g, int b, int a = 255 );
FORCEINLINE void WritePixelNoAdvanceSigned( int r, int g, int b, int a = 255 );
FORCEINLINE void ReadPixelNoAdvance( int &r, int &g, int &b, int &a );
// Floating point formats
FORCEINLINE void WritePixelNoAdvanceF( float r, float g, float b, float a = 1.0f );
FORCEINLINE void WritePixelNoAdvanceF( float r, float g, float b, float a = 1.0f ) RESTRICT;
FORCEINLINE void WritePixelF( float r, float g, float b, float a = 1.0f );
// SIMD formats
FORCEINLINE void WritePixel( FLTX4 rgba );
FORCEINLINE void WritePixel( FLTX4 rgba ) RESTRICT;
FORCEINLINE void WritePixelNoAdvance( FLTX4 rgba );
#ifdef _X360
// here are some explicit formats so we can avoid the switch:
FORCEINLINE void WritePixelNoAdvance_RGBA8888( FLTX4 rgba );
FORCEINLINE void WritePixelNoAdvance_BGRA8888( FLTX4 rgba );
// as above, but with m_pBits passed in to avoid a LHS
FORCEINLINE void WritePixelNoAdvance_BGRA8888( FLTX4 rgba, void *pBits );
FORCEINLINE void WritePixelNoAdvance_BGRA8888( FLTX4 rgba, void *pBits ) RESTRICT;
// for writing entire SIMD registers at once when they have
// already been packed, and when m_pBits is vector-aligned
// (which is a requirement for write-combined memory)
@ -73,9 +73,9 @@ public:
#endif
FORCEINLINE unsigned char GetPixelSize() { return m_Size; }
FORCEINLINE unsigned char GetPixelSize() RESTRICT { return m_Size; }
FORCEINLINE bool IsUsingFloatFormat() const;
FORCEINLINE bool IsUsingFloatFormat() RESTRICT const;
FORCEINLINE unsigned char *GetCurrentPixel() { return m_pBits; }
private:
@ -108,7 +108,7 @@ private:
#endif
};
FORCEINLINE_PIXEL bool CPixelWriter::IsUsingFloatFormat() const
FORCEINLINE_PIXEL bool CPixelWriter::IsUsingFloatFormat() RESTRICT const
{
return (m_nFlags & PIXELWRITER_USING_FLOAT_FORMAT) != 0;
}
@ -379,7 +379,7 @@ FORCEINLINE void CPixelWriter::ActivateByteSwapping( bool bSwap )
//-----------------------------------------------------------------------------
// Sets where we're writing to
//-----------------------------------------------------------------------------
FORCEINLINE_PIXEL void CPixelWriter::Seek( int x, int y )
FORCEINLINE_PIXEL void CPixelWriter::Seek( int x, int y ) RESTRICT
{
m_pBits = m_pBase + y * m_BytesPerRow + x * m_Size;
}
@ -407,7 +407,7 @@ FORCEINLINE_PIXEL void CPixelWriter::SkipPixels( int n )
//-----------------------------------------------------------------------------
// Writes a pixel without advancing the index PC ONLY
//-----------------------------------------------------------------------------
FORCEINLINE_PIXEL void CPixelWriter::WritePixelNoAdvanceF( float r, float g, float b, float a )
FORCEINLINE_PIXEL void CPixelWriter::WritePixelNoAdvanceF( float r, float g, float b, float a ) RESTRICT
{
Assert( IsUsingFloatFormat() );
@ -473,7 +473,7 @@ FORCEINLINE_PIXEL void CPixelWriter::WritePixelSigned( int r, int g, int b, int
//-----------------------------------------------------------------------------
// Writes a pixel without advancing the index
//-----------------------------------------------------------------------------
FORCEINLINE_PIXEL void CPixelWriter::WritePixelNoAdvance( int r, int g, int b, int a )
FORCEINLINE_PIXEL void CPixelWriter::WritePixelNoAdvance( int r, int g, int b, int a ) RESTRICT
{
Assert( !IsUsingFloatFormat() );

View File

@ -2655,8 +2655,8 @@ public:
const void *m_expectedVModel;
// double-check that the data I point to hasn't changed
bool ValidateAgainst( const CStudioHdr * RESTRICT pstudiohdr );
void SetValidationPair( const CStudioHdr *RESTRICT pstudiohdr );
bool ValidateAgainst( const CStudioHdr * RESTRICT pstudiohdr ) RESTRICT;
void SetValidationPair( const CStudioHdr *RESTRICT pstudiohdr ) RESTRICT;
friend class CStudioHdr;
};

View File

@ -181,7 +181,7 @@ public:
void WriteOneBitAt( int iBit, int nValue );
// Write signed or unsigned. Range is only checked in debug.
void WriteUBitLong( unsigned int data, int numbits, bool bCheckRange=true );
void WriteUBitLong( unsigned int data, int numbits, bool bCheckRange=true ) RESTRICT;
void WriteSBitLong( int data, int numbits );
// Tell it whether or not the data is unsigned. If it's signed,
@ -241,7 +241,7 @@ public:
int GetNumBytesWritten() const;
int GetNumBitsWritten() const;
int GetMaxNumBits();
int GetNumBitsLeft();
int GetNumBitsLeft() RESTRICT;
int GetNumBytesLeft();
unsigned char* GetData();
const unsigned char* GetData() const;
@ -250,7 +250,7 @@ public:
bool CheckForOverflow(int nBits);
inline bool IsOverflowed() const {return m_bOverflow;}
void SetOverflowFlag();
void SetOverflowFlag() RESTRICT;
public:
@ -292,7 +292,7 @@ inline int bf_write::GetMaxNumBits()
return m_nDataBits;
}
inline int bf_write::GetNumBitsLeft()
inline int bf_write::GetNumBitsLeft() RESTRICT
{
return m_nDataBits - m_iCurBit;
}
@ -323,7 +323,7 @@ BITBUF_INLINE bool bf_write::CheckForOverflow(int nBits)
return m_bOverflow;
}
BITBUF_INLINE void bf_write::SetOverflowFlag()
BITBUF_INLINE void bf_write::SetOverflowFlag() RESTRICT
{
#ifdef DBGFLAG_ASSERT
if ( m_bAssertOnOverflow )
@ -635,7 +635,7 @@ public:
public:
int GetNumBytesLeft();
int GetNumBytesRead();
int GetNumBitsLeft();
int GetNumBitsLeft() RESTRICT;
int GetNumBitsRead() const;
// Has the buffer overflowed?
@ -645,7 +645,7 @@ public:
inline bool SeekRelative(int iBitDelta); // Seek to an offset from the current position.
// Called when the buffer is overflowed.
void SetOverflowFlag();
void SetOverflowFlag() RESTRICT;
public:
@ -678,7 +678,7 @@ inline int bf_read::GetNumBytesRead()
return BitByte(m_iCurBit);
}
inline int bf_read::GetNumBitsLeft()
inline int bf_read::GetNumBitsLeft() RESTRICT
{
return m_nDataBits - m_iCurBit;
}

View File

@ -386,7 +386,7 @@ DBG_INTERFACE bool ShouldUseNewAssertDialog()
#endif // DBGFLAG_ASSERTDLG
}
#if defined( POSIX )
#if defined( POSIX ) && !defined ( ANDROID )
#include <execinfo.h>
@ -441,7 +441,9 @@ DBG_INTERFACE bool DoNewAssertDialog( const tchar *pFilename, int line, const tc
pFilename, line, pExpression);
if ( getenv( "POSIX_ASSERT_BACKTRACE" ) )
{
#if !defined ( ANDROID )
SpewBacktrace();
#endif
}
}
else

View File

@ -124,9 +124,13 @@ float GetCPUUsage()
float GetCPUUsage()
{
#ifdef ANDROID
return 0;
#else
double loadavg[3];
getloadavg( loadavg, 3 );
return loadavg[0];
#endif
}
#endif //POSIX

View File

@ -1,4 +1,4 @@
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
//===== Copyright <EFBFBD> 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//
@ -27,7 +27,7 @@
#include <set>
#endif
#if defined( LINUX )
#if defined( LINUX ) && !defined( ANDROID )
#include <execinfo.h>
#endif
@ -38,7 +38,7 @@
#if !defined( ENABLE_RUNTIME_STACK_TRANSLATION ) //disable the whole toolset
#if defined( LINUX )
#if defined( LINUX ) && !defined( ANDROID )
int GetCallStack( void **pReturnAddressesOut, int iArrayCount, int iSkipCount )
{

View File

@ -2034,6 +2034,8 @@ void CThread::Yield()
{
#ifdef _WIN32
::Sleep(0);
#elif defined(ANDROID)
sched_yield();
#elif defined(POSIX)
pthread_yield();
#endif

View File

@ -849,7 +849,7 @@ void bf_read::SetDebugName( const char *pName )
m_pDebugName = pName;
}
void bf_read::SetOverflowFlag()
void bf_read::SetOverflowFlag() RESTRICT
{
if ( m_bAssertOnOverflow )
{
@ -992,7 +992,7 @@ unsigned int bf_read::PeekUBitLong( int numbits )
return r;
}
unsigned int bf_read::ReadUBitLongNoInline( int numbits )
unsigned int bf_read::ReadUBitLongNoInline( int numbits ) RESTRICT
{
return ReadUBitLong( numbits );
}

View File

@ -1421,7 +1421,7 @@ int _V_UCS2ToUnicode( const ucs2 *pUCS2, wchar_t *pUnicode, int cubDestSizeInByt
size_t nMaxUTF8 = cubDestSizeInBytes;
char *pIn = (char *)pUCS2;
char *pOut = (char *)pUnicode;
if ( conv_t > 0 )
if ( conv_t > (void*)0 )
{
cchResult = iconv( conv_t, &pIn, &nLenUnicde, &pOut, &nMaxUTF8 );
iconv_close( conv_t );
@ -1461,7 +1461,7 @@ int _V_UnicodeToUCS2( const wchar_t *pUnicode, int cubSrcInBytes, char *pUCS2, i
size_t nMaxUCS2 = cubDestSizeInBytes;
char *pIn = (char*)pUnicode;
char *pOut = pUCS2;
if ( conv_t > 0 )
if ( conv_t > (void*)0 )
{
cchResult = iconv( conv_t, &pIn, &nLenUnicde, &pOut, &nMaxUCS2 );
iconv_close( conv_t );
@ -1509,7 +1509,7 @@ int _V_UCS2ToUTF8( const ucs2 *pUCS2, char *pUTF8, int cubDestSizeInBytes )
size_t nMaxUTF8 = cubDestSizeInBytes - 1;
char *pIn = (char *)pUCS2;
char *pOut = (char *)pUTF8;
if ( conv_t > 0 )
if ( conv_t > (void*)0 )
{
const size_t nBytesToWrite = nMaxUTF8;
cchResult = iconv( conv_t, &pIn, &nLenUnicde, &pOut, &nMaxUTF8 );
@ -1554,7 +1554,7 @@ int _V_UTF8ToUCS2( const char *pUTF8, int cubSrcInBytes, ucs2 *pUCS2, int cubDes
size_t nMaxUTF8 = cubDestSizeInBytes;
char *pIn = (char *)pUTF8;
char *pOut = (char *)pUCS2;
if ( conv_t > 0 )
if ( conv_t > (void*)0 )
{
cchResult = iconv( conv_t, &pIn, &nLenUnicde, &pOut, &nMaxUTF8 );
iconv_close( conv_t );