mirror of https://github.com/PCSX2/pcsx2.git
gsdx: defer GSScanlineConstantData init
Avoid AVX instruction in the middle Issue #1677
This commit is contained in:
parent
4c3e98754e
commit
f6cad2235b
|
@ -147,6 +147,8 @@ EXPORT_C_(int) GSinit()
|
||||||
|
|
||||||
if (g_const == nullptr)
|
if (g_const == nullptr)
|
||||||
return -1;
|
return -1;
|
||||||
|
else
|
||||||
|
g_const->Init();
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
|
|
|
@ -250,7 +250,11 @@ struct GSScanlineConstantData : public GSAlignedClass<32>
|
||||||
alignas(16) float m_shift_128b[5][4];
|
alignas(16) float m_shift_128b[5][4];
|
||||||
alignas(16) float m_log2_coef_128b[4][4];
|
alignas(16) float m_log2_coef_128b[4][4];
|
||||||
|
|
||||||
GSScanlineConstantData()
|
GSScanlineConstantData() {}
|
||||||
|
|
||||||
|
// GCC will be clever enough to stick some AVX instruction here
|
||||||
|
// So it must be defered to post global constructor
|
||||||
|
void Init()
|
||||||
{
|
{
|
||||||
uint8 I_hate_vs2013_m_test_256b[16][8] = {
|
uint8 I_hate_vs2013_m_test_256b[16][8] = {
|
||||||
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
|
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
|
||||||
|
|
Loading…
Reference in New Issue