33 inline void LeRasterizer::fillFlatTexZC(
int y,
int x1,
int x2,
int w1,
int w2,
int u1,
int u2,
int v1,
int v2)
38 int au = (u2 - u1) / d;
39 int av = (v2 - v1) / d;
40 int aw = (w2 - w1) / d;
45 for (
int x = x1; x < x2; x ++) {
46 int32_t z = (1 << 30) / (w1 >> 8);
47 uint32_t tu = (((int64_t) u1 * z) >> 24) & texMaskU;
48 uint32_t tv = (((int64_t) v1 * z) >> 24) & texMaskV;
50 __m128i zv = _mm_set1_epi32(0);
52 tp = _mm_loadl_epi64((__m128i *) &texDiffusePixels[tu + (tv << texSizeU)]);
53 tp = _mm_unpacklo_epi8(tp, zv);
54 tp = _mm_mullo_epi16(tp, color_4);
55 tp = _mm_srli_epi16(tp, 8);
56 tp = _mm_packus_epi16(tp, zv);
57 *p++ = _mm_cvtsi128_si32(tp);
int tx
Definition: bitmap.h:81
LeBitmap frame
Definition: rasterizer_float.h:61
Represent an RGBA color.
Definition: color.h:42