diff --git a/neo/libs/jpeg-6/jmorecfg.h b/neo/libs/jpeg-6/jmorecfg.h index 958381f2..e5dbe500 100644 --- a/neo/libs/jpeg-6/jmorecfg.h +++ b/neo/libs/jpeg-6/jmorecfg.h @@ -150,8 +150,8 @@ typedef unsigned int UINT16; #endif /* HAVE_UNSIGNED_SHORT */ #ifndef __MWERKS__ -#ifndef _BASETSD_H_ -typedef long INT32; +#if !defined(_BASETSD_H_) && !defined(_BASETSD_H) +typedef int INT32; #endif #endif diff --git a/neo/renderer/DXT/DXTEncoder_SSE2.cpp b/neo/renderer/DXT/DXTEncoder_SSE2.cpp index 7f441e49..f0a784d3 100644 --- a/neo/renderer/DXT/DXTEncoder_SSE2.cpp +++ b/neo/renderer/DXT/DXTEncoder_SSE2.cpp @@ -55,7 +55,7 @@ Contains the DxtEncoder implementation for SSE2. typedef uint16 word; typedef uint32 dword; -ALIGN16( static __m128i SIMD_SSE2_zero ) = { 0, 0, 0, 0 }; +ALIGN16( static __m128i SIMD_SSE2_zero ) = _mm_set_epi32(0, 0, 0, 0); ALIGN16( static dword SIMD_SSE2_dword_byte_mask[4] ) = { 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF }; ALIGN16( static dword SIMD_SSE2_dword_word_mask[4] ) = { 0x0000FFFF, 0x0000FFFF, 0x0000FFFF, 0x0000FFFF }; ALIGN16( static dword SIMD_SSE2_dword_red_mask[4] ) = { 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF }; diff --git a/neo/renderer/jobs/ShadowShared.cpp b/neo/renderer/jobs/ShadowShared.cpp index 70c1f0ab..97922d52 100644 --- a/neo/renderer/jobs/ShadowShared.cpp +++ b/neo/renderer/jobs/ShadowShared.cpp @@ -131,7 +131,7 @@ static void R_ShadowVolumeCullBits( byte* cullBits, byte& totalOr, const float r const __m128 p3Z = _mm_splat_ps( p3, 2 ); const __m128 p3W = _mm_splat_ps( p3, 3 ); - __m128i vecTotalOrInt = { 0, 0, 0, 0 }; + __m128i vecTotalOrInt = _mm_set_epi32(0, 0, 0, 0); for( int i = 0; i < numVerts; ) { diff --git a/neo/renderer/jobs/dynamicshadowvolume/DynamicShadowVolume.cpp b/neo/renderer/jobs/dynamicshadowvolume/DynamicShadowVolume.cpp index 5802be74..8656c637 100644 --- a/neo/renderer/jobs/dynamicshadowvolume/DynamicShadowVolume.cpp +++ b/neo/renderer/jobs/dynamicshadowvolume/DynamicShadowVolume.cpp @@ -31,6 +31,9 @@ If you have questions concerning this license or the applicable additional terms #include "../../../idlib/sys/sys_intrinsics.h" #include "../../../idlib/geometry/DrawVert_intrinsics.h" +#ifdef _WIN32 +#include // DG: _alloca16 needs that +#endif static const __m128i vector_int_neg_one = _mm_set_epi32( -1, -1, -1, -1 ); @@ -39,7 +42,7 @@ static const __m128i vector_int_neg_one = _mm_set_epi32( -1, -1, -1, -1 ); TriangleFacing_SSE2 ===================== */ -static __forceinline __m128i TriangleFacing_SSE2( const __m128& vert0X, const __m128& vert0Y, const __m128& vert0Z, +static ID_FORCE_INLINE __m128i TriangleFacing_SSE2( const __m128& vert0X, const __m128& vert0Y, const __m128& vert0Z, const __m128& vert1X, const __m128& vert1Y, const __m128& vert1Z, const __m128& vert2X, const __m128& vert2Y, const __m128& vert2Z, const __m128& lightOriginX, const __m128& lightOriginY, const __m128& lightOriginZ ) @@ -68,7 +71,7 @@ TriangleCulled The clip space of the 'lightProject' is assumed to be in the range [0, 1]. ===================== */ -static __forceinline __m128i TriangleCulled_SSE2( const __m128& vert0X, const __m128& vert0Y, const __m128& vert0Z, +static ID_FORCE_INLINE __m128i TriangleCulled_SSE2( const __m128& vert0X, const __m128& vert0Y, const __m128& vert0Z, const __m128& vert1X, const __m128& vert1Y, const __m128& vert1Z, const __m128& vert2X, const __m128& vert2Y, const __m128& vert2Z, const __m128& lightProjectX, const __m128& lightProjectY, const __m128& lightProjectZ, const __m128& lightProjectW ) diff --git a/neo/renderer/jobs/prelightshadowvolume/PreLightShadowVolume.cpp b/neo/renderer/jobs/prelightshadowvolume/PreLightShadowVolume.cpp index ddd7e5f8..1e86bc7a 100644 --- a/neo/renderer/jobs/prelightshadowvolume/PreLightShadowVolume.cpp +++ b/neo/renderer/jobs/prelightshadowvolume/PreLightShadowVolume.cpp @@ -28,6 +28,9 @@ If you have questions concerning this license or the applicable additional terms #include "PreLightShadowVolume_local.h" +#ifdef _WIN32 // DG: malloc.h needed for _alloca16 +#include +#endif /* =================== PreLightShadowVolumeJob