Changeset View
Changeset View
Standalone View
Standalone View
libkwineffects/kwineffects.cpp
Show First 20 Lines • Show All 1141 Lines • ▼ Show 20 Line(s) | 1139 | for (int i = 0; i < count(); i++) { | |||
---|---|---|---|---|---|
1142 | 1142 | | |||
1143 | for (int j = 0; j < 4; j++) { | 1143 | for (int j = 0; j < 4; j++) { | ||
1144 | const WindowVertex &wv = quad[j]; | 1144 | const WindowVertex &wv = quad[j]; | ||
1145 | 1145 | | |||
1146 | v[j].position = QVector2D(wv.x(), wv.y()); | 1146 | v[j].position = QVector2D(wv.x(), wv.y()); | ||
1147 | v[j].texcoord = QVector2D(wv.u(), wv.v()) * coeff + offset; | 1147 | v[j].texcoord = QVector2D(wv.u(), wv.v()) * coeff + offset; | ||
1148 | } | 1148 | } | ||
1149 | 1149 | | |||
1150 | const __m128i *srcP = (const __m128i *) &v; | 1150 | const __m128i *srcP = reinterpret_cast<const __m128i *>(&v); | ||
1151 | __m128i *dstP = (__m128i *) vertex; | 1151 | __m128i *dstP = reinterpret_cast<__m128i *>(vertex); | ||
1152 | 1152 | | |||
1153 | _mm_stream_si128(&dstP[0], _mm_load_si128(&srcP[0])); // Top-left | 1153 | _mm_stream_si128(&dstP[0], _mm_load_si128(&srcP[0])); // Top-left | ||
1154 | _mm_stream_si128(&dstP[1], _mm_load_si128(&srcP[1])); // Top-right | 1154 | _mm_stream_si128(&dstP[1], _mm_load_si128(&srcP[1])); // Top-right | ||
1155 | _mm_stream_si128(&dstP[2], _mm_load_si128(&srcP[2])); // Bottom-right | 1155 | _mm_stream_si128(&dstP[2], _mm_load_si128(&srcP[2])); // Bottom-right | ||
1156 | _mm_stream_si128(&dstP[3], _mm_load_si128(&srcP[3])); // Bottom-left | 1156 | _mm_stream_si128(&dstP[3], _mm_load_si128(&srcP[3])); // Bottom-left | ||
1157 | 1157 | | |||
1158 | vertex += 4; | 1158 | vertex += 4; | ||
1159 | } | 1159 | } | ||
Show All 25 Lines | 1182 | for (int i = 0; i < count(); i++) { | |||
1185 | 1185 | | |||
1186 | for (int j = 0; j < 4; j++) { | 1186 | for (int j = 0; j < 4; j++) { | ||
1187 | const WindowVertex &wv = quad[j]; | 1187 | const WindowVertex &wv = quad[j]; | ||
1188 | 1188 | | |||
1189 | v[j].position = QVector2D(wv.x(), wv.y()); | 1189 | v[j].position = QVector2D(wv.x(), wv.y()); | ||
1190 | v[j].texcoord = QVector2D(wv.u(), wv.v()) * coeff + offset; | 1190 | v[j].texcoord = QVector2D(wv.u(), wv.v()) * coeff + offset; | ||
1191 | } | 1191 | } | ||
1192 | 1192 | | |||
1193 | const __m128i *srcP = (const __m128i *) &v; | 1193 | const __m128i *srcP = reinterpret_cast<const __m128i *>(&v); | ||
1194 | __m128i *dstP = (__m128i *) vertex; | 1194 | __m128i *dstP = reinterpret_cast<__m128i *>(vertex); | ||
1195 | 1195 | | |||
1196 | __m128i src[4]; | 1196 | __m128i src[4]; | ||
1197 | src[0] = _mm_load_si128(&srcP[0]); // Top-left | 1197 | src[0] = _mm_load_si128(&srcP[0]); // Top-left | ||
1198 | src[1] = _mm_load_si128(&srcP[1]); // Top-right | 1198 | src[1] = _mm_load_si128(&srcP[1]); // Top-right | ||
1199 | src[2] = _mm_load_si128(&srcP[2]); // Bottom-right | 1199 | src[2] = _mm_load_si128(&srcP[2]); // Bottom-right | ||
1200 | src[3] = _mm_load_si128(&srcP[3]); // Bottom-left | 1200 | src[3] = _mm_load_si128(&srcP[3]); // Bottom-left | ||
1201 | 1201 | | |||
1202 | // First triangle | 1202 | // First triangle | ||
▲ Show 20 Lines • Show All 743 Lines • Show Last 20 Lines |