mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 06:06:50 +00:00
materialsystem: set allocator alignment 16( fixes crash in release build )
This commit is contained in:
parent
e3edbc2d96
commit
657f59ada3
@ -31,9 +31,9 @@ public:
|
|||||||
{
|
{
|
||||||
MEM_ALLOC_CREDIT_( "CMatCallQueue.m_Allocator" );
|
MEM_ALLOC_CREDIT_( "CMatCallQueue.m_Allocator" );
|
||||||
#ifdef SWDS
|
#ifdef SWDS
|
||||||
m_Allocator.Init( 2*1024, 0, 0, 4 );
|
m_Allocator.Init( 2*1024, 0, 0, 16 );
|
||||||
#else
|
#else
|
||||||
m_Allocator.Init( IsX360() ? 2*1024*1024 : 8*1024*1024, 64*1024, 256*1024, 4 );
|
m_Allocator.Init( IsX360() ? 2*1024*1024 : 8*1024*1024, 64*1024, 256*1024, 16 );
|
||||||
#endif
|
#endif
|
||||||
m_FunctorFactory.SetAllocator( &m_Allocator );
|
m_FunctorFactory.SetAllocator( &m_Allocator );
|
||||||
m_pHead = m_pTail = NULL;
|
m_pHead = m_pTail = NULL;
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
// FP exception clean so this not a turnkey operation.
|
// FP exception clean so this not a turnkey operation.
|
||||||
//#define FP_EXCEPTIONS_ENABLED
|
//#define FP_EXCEPTIONS_ENABLED
|
||||||
|
|
||||||
|
|
||||||
#ifdef FP_EXCEPTIONS_ENABLED
|
#ifdef FP_EXCEPTIONS_ENABLED
|
||||||
#include <float.h> // For _clearfp and _controlfp_s
|
#include <float.h> // For _clearfp and _controlfp_s
|
||||||
#endif
|
#endif
|
||||||
@ -93,37 +92,11 @@ private:
|
|||||||
FPExceptionEnabler& operator=(const FPExceptionEnabler&);
|
FPExceptionEnabler& operator=(const FPExceptionEnabler&);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
inline float clamp( const float val, const float minVal, const float maxVal )
|
||||||
|
|
||||||
#ifdef DEBUG // stop crashing edit-and-continue
|
|
||||||
FORCEINLINE float clamp( float val, float minVal, float maxVal )
|
|
||||||
{
|
{
|
||||||
if ( maxVal < minVal )
|
const float t = val < minVal ? minVal : val;
|
||||||
return maxVal;
|
return t > maxVal ? maxVal : t;
|
||||||
else if( val < minVal )
|
|
||||||
return minVal;
|
|
||||||
else if( val > maxVal )
|
|
||||||
return maxVal;
|
|
||||||
else
|
|
||||||
return val;
|
|
||||||
}
|
}
|
||||||
#else // DEBUG
|
|
||||||
FORCEINLINE float clamp( float val, float minVal, float maxVal )
|
|
||||||
{
|
|
||||||
#if defined(__i386__) || defined(_M_IX86)
|
|
||||||
_mm_store_ss( &val,
|
|
||||||
_mm_min_ss(
|
|
||||||
_mm_max_ss(
|
|
||||||
_mm_load_ss(&val),
|
|
||||||
_mm_load_ss(&minVal) ),
|
|
||||||
_mm_load_ss(&maxVal) ) );
|
|
||||||
#else
|
|
||||||
val = fpmax(minVal, val);
|
|
||||||
val = fpmin(maxVal, val);
|
|
||||||
#endif
|
|
||||||
return val;
|
|
||||||
}
|
|
||||||
#endif // DEBUG
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Returns a clamped value in the range [min, max].
|
// Returns a clamped value in the range [min, max].
|
||||||
@ -131,17 +104,10 @@ FORCEINLINE float clamp( float val, float minVal, float maxVal )
|
|||||||
template< class T >
|
template< class T >
|
||||||
inline T clamp( T const &val, T const &minVal, T const &maxVal )
|
inline T clamp( T const &val, T const &minVal, T const &maxVal )
|
||||||
{
|
{
|
||||||
if ( maxVal < minVal )
|
const T t = val< minVal ? minVal : val;
|
||||||
return maxVal;
|
return t > maxVal ? maxVal : t;
|
||||||
else if( val < minVal )
|
|
||||||
return minVal;
|
|
||||||
else if( val > maxVal )
|
|
||||||
return maxVal;
|
|
||||||
else
|
|
||||||
return val;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// plane_t structure
|
// plane_t structure
|
||||||
// !!! if this is changed, it must be changed in asm code too !!!
|
// !!! if this is changed, it must be changed in asm code too !!!
|
||||||
// FIXME: does the asm code even exist anymore?
|
// FIXME: does the asm code even exist anymore?
|
||||||
|
Loading…
Reference in New Issue
Block a user