Changeset View
Changeset View
Standalone View
Standalone View
libkwineffects/kwineffects.cpp
Show First 20 Lines • Show All 1153 Lines • ▼ Show 20 Line(s) | 1151 | for (int i = 0; i < count(); i++) { | |||
---|---|---|---|---|---|
1154 | 1154 | | |||
1155 | for (int j = 0; j < 4; j++) { | 1155 | for (int j = 0; j < 4; j++) { | ||
1156 | const WindowVertex &wv = quad[j]; | 1156 | const WindowVertex &wv = quad[j]; | ||
1157 | 1157 | | |||
1158 | v[j].position = QVector2D(wv.x(), wv.y()); | 1158 | v[j].position = QVector2D(wv.x(), wv.y()); | ||
1159 | v[j].texcoord = QVector2D(wv.u(), wv.v()) * coeff + offset; | 1159 | v[j].texcoord = QVector2D(wv.u(), wv.v()) * coeff + offset; | ||
1160 | } | 1160 | } | ||
1161 | 1161 | | |||
1162 | const __m128i *srcP = (const __m128i *) &v; | 1162 | const __m128i *srcP = reinterpret_cast<const __m128i *>(&v); | ||
1163 | __m128i *dstP = (__m128i *) vertex; | 1163 | __m128i *dstP = reinterpret_cast<__m128i *>(vertex); | ||
1164 | 1164 | | |||
1165 | _mm_stream_si128(&dstP[0], _mm_load_si128(&srcP[0])); // Top-left | 1165 | _mm_stream_si128(&dstP[0], _mm_load_si128(&srcP[0])); // Top-left | ||
1166 | _mm_stream_si128(&dstP[1], _mm_load_si128(&srcP[1])); // Top-right | 1166 | _mm_stream_si128(&dstP[1], _mm_load_si128(&srcP[1])); // Top-right | ||
1167 | _mm_stream_si128(&dstP[2], _mm_load_si128(&srcP[2])); // Bottom-right | 1167 | _mm_stream_si128(&dstP[2], _mm_load_si128(&srcP[2])); // Bottom-right | ||
1168 | _mm_stream_si128(&dstP[3], _mm_load_si128(&srcP[3])); // Bottom-left | 1168 | _mm_stream_si128(&dstP[3], _mm_load_si128(&srcP[3])); // Bottom-left | ||
1169 | 1169 | | |||
1170 | vertex += 4; | 1170 | vertex += 4; | ||
1171 | } | 1171 | } | ||
Show All 25 Lines | 1194 | for (int i = 0; i < count(); i++) { | |||
1197 | 1197 | | |||
1198 | for (int j = 0; j < 4; j++) { | 1198 | for (int j = 0; j < 4; j++) { | ||
1199 | const WindowVertex &wv = quad[j]; | 1199 | const WindowVertex &wv = quad[j]; | ||
1200 | 1200 | | |||
1201 | v[j].position = QVector2D(wv.x(), wv.y()); | 1201 | v[j].position = QVector2D(wv.x(), wv.y()); | ||
1202 | v[j].texcoord = QVector2D(wv.u(), wv.v()) * coeff + offset; | 1202 | v[j].texcoord = QVector2D(wv.u(), wv.v()) * coeff + offset; | ||
1203 | } | 1203 | } | ||
1204 | 1204 | | |||
1205 | const __m128i *srcP = (const __m128i *) &v; | 1205 | const __m128i *srcP = reinterpret_cast<const __m128i *>(&v); | ||
1206 | __m128i *dstP = (__m128i *) vertex; | 1206 | __m128i *dstP = reinterpret_cast<__m128i *>(vertex); | ||
1207 | 1207 | | |||
1208 | __m128i src[4]; | 1208 | __m128i src[4]; | ||
1209 | src[0] = _mm_load_si128(&srcP[0]); // Top-left | 1209 | src[0] = _mm_load_si128(&srcP[0]); // Top-left | ||
1210 | src[1] = _mm_load_si128(&srcP[1]); // Top-right | 1210 | src[1] = _mm_load_si128(&srcP[1]); // Top-right | ||
1211 | src[2] = _mm_load_si128(&srcP[2]); // Bottom-right | 1211 | src[2] = _mm_load_si128(&srcP[2]); // Bottom-right | ||
1212 | src[3] = _mm_load_si128(&srcP[3]); // Bottom-left | 1212 | src[3] = _mm_load_si128(&srcP[3]); // Bottom-left | ||
1213 | 1213 | | |||
1214 | // First triangle | 1214 | // First triangle | ||
▲ Show 20 Lines • Show All 743 Lines • Show Last 20 Lines |