summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/TextureDecoder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoCommon/Src/TextureDecoder.cpp')
-rw-r--r--Source/Core/VideoCommon/Src/TextureDecoder.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/Source/Core/VideoCommon/Src/TextureDecoder.cpp b/Source/Core/VideoCommon/Src/TextureDecoder.cpp
index a949060cbe..eb630cdee2 100644
--- a/Source/Core/VideoCommon/Src/TextureDecoder.cpp
+++ b/Source/Core/VideoCommon/Src/TextureDecoder.cpp
@@ -1821,7 +1821,8 @@ PC_TexFormat TexDecoder_Decode_RGBA(u32 * dst, const u8 * src, int width, int he
);
// Copy the color arrays from the XMM registers to local variables in RAM:
- __declspec(align(16)) u32 colors0A[4], colors0B[4];
+ GC_ALIGNED16(u32 colors0A[4]);
+ GC_ALIGNED16(u32 colors0B[4]);
_mm_store_si128((__m128i *)colors0A, rgb01230);
_mm_store_si128((__m128i *)colors0B, rgb01450);
@@ -1842,7 +1843,8 @@ PC_TexFormat TexDecoder_Decode_RGBA(u32 * dst, const u8 * src, int width, int he
);
// Copy the color arrays from the XMM registers to aligned local variables in RAM:
- __declspec(align(16)) u32 colors1A[4], colors1B[4];
+ GC_ALIGNED16(u32 colors1A[4]);
+ GC_ALIGNED16(u32 colors1B[4]);
_mm_store_si128((__m128i *)colors1A, rgb01231);
_mm_store_si128((__m128i *)colors1B, rgb01451);
@@ -1872,14 +1874,14 @@ PC_TexFormat TexDecoder_Decode_RGBA(u32 * dst, const u8 * src, int width, int he
const __m128i cmprgb0rgb1 = _mm_cmpgt_epi32(c0cmp, c0shr);
// Copy the 2-bit indices from each DXT block:
- __declspec(align(16)) u32 dxttmp[4];
+ GC_ALIGNED16(u32 dxttmp[4]);
_mm_store_si128((__m128i *)dxttmp, dxt);
u32 dxt0sel = dxttmp[1];
u32 dxt1sel = dxttmp[3];
// Copy the comparison results:
- __declspec(align(16)) u16 cmptmp[8];
+ GC_ALIGNED16(u16 cmptmp[8]);
_mm_store_si128((__m128i *)cmptmp, cmprgb0rgb1);
// Per each row written we alternate storing RGBA values from DXT0 and DXT1.