GSdx: Compiler check for const initialization of vectors

Make sure we don't accidentally end up with a vector-based non-const initialization
This commit is contained in:
TellowKrinkle
2021-03-22 02:09:31 -04:00
committed by Kojin
parent 5ac4b41281
commit f8b8b5db13
6 changed files with 56 additions and 44 deletions
+22 -22
View File
@@ -22,7 +22,7 @@
#include "stdafx.h"
#include "GSVector.h"
const GSVector4i GSVector4i::m_xff[17] =
CONSTINIT const GSVector4i GSVector4i::m_xff[17] =
{
GSVector4i(0x00000000, 0x00000000, 0x00000000, 0x00000000),
GSVector4i(0x000000ff, 0x00000000, 0x00000000, 0x00000000),
@@ -43,7 +43,7 @@ const GSVector4i GSVector4i::m_xff[17] =
GSVector4i(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff),
};
const GSVector4i GSVector4i::m_x0f[17] =
CONSTINIT const GSVector4i GSVector4i::m_x0f[17] =
{
GSVector4i(0x00000000, 0x00000000, 0x00000000, 0x00000000),
GSVector4i(0x0000000f, 0x00000000, 0x00000000, 0x00000000),
@@ -64,32 +64,32 @@ const GSVector4i GSVector4i::m_x0f[17] =
GSVector4i(0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f),
};
const GSVector4 GSVector4::m_ps0123(cxpr_setr_ps(0.0f, 1.0f, 2.0f, 3.0f));
const GSVector4 GSVector4::m_ps4567(cxpr_setr_ps(4.0f, 5.0f, 6.0f, 7.0f));
const GSVector4 GSVector4::m_half(cxpr_set1_ps(0.5f));
const GSVector4 GSVector4::m_one(cxpr_set1_ps(1.0f));
const GSVector4 GSVector4::m_two(cxpr_set1_ps(2.0f));
const GSVector4 GSVector4::m_four(cxpr_set1_ps(4.0f));
const GSVector4 GSVector4::m_x4b000000(cxpr_set1_epi32(0x4b000000));
const GSVector4 GSVector4::m_x4f800000(cxpr_set1_epi32(0x4f800000));
const GSVector4 GSVector4::m_max(cxpr_set1_ps(FLT_MAX));
const GSVector4 GSVector4::m_min(cxpr_set1_ps(FLT_MIN));
CONSTINIT const GSVector4 GSVector4::m_ps0123(cxpr_setr_ps(0.0f, 1.0f, 2.0f, 3.0f));
CONSTINIT const GSVector4 GSVector4::m_ps4567(cxpr_setr_ps(4.0f, 5.0f, 6.0f, 7.0f));
CONSTINIT const GSVector4 GSVector4::m_half(cxpr_set1_ps(0.5f));
CONSTINIT const GSVector4 GSVector4::m_one(cxpr_set1_ps(1.0f));
CONSTINIT const GSVector4 GSVector4::m_two(cxpr_set1_ps(2.0f));
CONSTINIT const GSVector4 GSVector4::m_four(cxpr_set1_ps(4.0f));
CONSTINIT const GSVector4 GSVector4::m_x4b000000(cxpr_set1_epi32(0x4b000000));
CONSTINIT const GSVector4 GSVector4::m_x4f800000(cxpr_set1_epi32(0x4f800000));
CONSTINIT const GSVector4 GSVector4::m_max(cxpr_set1_ps(FLT_MAX));
CONSTINIT const GSVector4 GSVector4::m_min(cxpr_set1_ps(FLT_MIN));
#if _M_SSE >= 0x500
const GSVector8 GSVector8::m_half(cxpr_set1_ps(0.5f));
const GSVector8 GSVector8::m_one(cxpr_set1_ps(1.0f));
const GSVector8 GSVector8::m_x7fffffff(cxpr_set1_epi32(0x7fffffff));
const GSVector8 GSVector8::m_x80000000(cxpr_set1_epi32(0x80000000));
const GSVector8 GSVector8::m_x4b000000(cxpr_set1_epi32(0x4b000000));
const GSVector8 GSVector8::m_x4f800000(cxpr_set1_epi32(0x4f800000));
const GSVector8 GSVector8::m_max(cxpr_set1_ps(FLT_MAX));
const GSVector8 GSVector8::m_min(cxpr_set1_ps(FLT_MAX));
CONSTINIT const GSVector8 GSVector8::m_half(cxpr_set1_ps(0.5f));
CONSTINIT const GSVector8 GSVector8::m_one(cxpr_set1_ps(1.0f));
CONSTINIT const GSVector8 GSVector8::m_x7fffffff(cxpr_set1_epi32(0x7fffffff));
CONSTINIT const GSVector8 GSVector8::m_x80000000(cxpr_set1_epi32(0x80000000));
CONSTINIT const GSVector8 GSVector8::m_x4b000000(cxpr_set1_epi32(0x4b000000));
CONSTINIT const GSVector8 GSVector8::m_x4f800000(cxpr_set1_epi32(0x4f800000));
CONSTINIT const GSVector8 GSVector8::m_max(cxpr_set1_ps(FLT_MAX));
CONSTINIT const GSVector8 GSVector8::m_min(cxpr_set1_ps(FLT_MAX));
#endif
#if _M_SSE >= 0x501
const GSVector8i GSVector8i::m_xff[33] =
CONSTINIT const GSVector8i GSVector8i::m_xff[33] =
{
GSVector8i(0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000),
GSVector8i(0x000000ff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000),
@@ -126,7 +126,7 @@ const GSVector8i GSVector8i::m_xff[33] =
GSVector8i(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff),
};
const GSVector8i GSVector8i::m_x0f[33] =
CONSTINIT const GSVector8i GSVector8i::m_x0f[33] =
{
GSVector8i(0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000),
GSVector8i(0x0000000f, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000),