diff --git a/plugins/GSdx/GSVertex.h b/plugins/GSdx/GSVertex.h index 5d6b82135f..3e50000500 100644 --- a/plugins/GSdx/GSVertex.h +++ b/plugins/GSdx/GSVertex.h @@ -41,10 +41,21 @@ struct alignas(32) GSVertex uint32 FOG; // FOG:28 }; +#if _M_SSE >= 0x500 + __m256i mx; +#endif __m128i m[2]; }; + GSVertex() = default; // Warning object is potentially used in hot path + +#if _M_SSE >= 0x500 + GSVertex(const GSVertex& v) {mx = v.mx;} + void operator = (const GSVertex& v) {mx = v.mx;} +#else + GSVertex(const GSVertex& v) {m[0] = v.m[0]; m[1] = v.m[1];} void operator = (const GSVertex& v) {m[0] = v.m[0]; m[1] = v.m[1];} +#endif }; struct GSVertexP