Lines Matching refs:skvx
16 using V4f = skvx::Vec<4, float>;
17 using M4f = skvx::Vec<4, int32_t>;
31 static AI skvx::Vec<4, T> next_cw(const skvx::Vec<4, T>& v) {
32 return skvx::shuffle<2, 0, 3, 1>(v);
36 static AI skvx::Vec<4, T> next_ccw(const skvx::Vec<4, T>& v) {
37 return skvx::shuffle<1, 3, 0, 2>(v);
42 return skvx::shuffle<3, 2, 1, 0>(v);
659 void TessellationHelper::EdgeVectors::reset(const skvx::Vec<4, float>& xs,
660 const skvx::Vec<4, float>& ys,
661 const skvx::Vec<4, float>& ws,
738 V4f d = min(x2d * skvx::shuffle<1,2,1,2>(fA) + y2d * skvx::shuffle<1,2,1,2>(fB)
739 + skvx::shuffle<1,2,1,2>(fC),
740 x2d * skvx::shuffle<3,3,0,0>(fA) + y2d * skvx::shuffle<3,3,0,0>(fB)
741 + skvx::shuffle<3,3,0,0>(fC));
773 V4f dists1 = px * skvx::shuffle<3, 3, 0, 0>(fA) +
774 py * skvx::shuffle<3, 3, 0, 0>(fB) +
775 skvx::shuffle<3, 3, 0, 0>(oc);
776 V4f dists2 = px * skvx::shuffle<1, 2, 1, 2>(fA) +
777 py * skvx::shuffle<1, 2, 1, 2>(fB) +
778 skvx::shuffle<1, 2, 1, 2>(oc);
812 *x2d = 0.5f * (skvx::shuffle<0, 1, 0, 1>(px) + skvx::shuffle<2, 3, 2, 3>(px));
813 *y2d = 0.5f * (skvx::shuffle<0, 1, 0, 1>(py) + skvx::shuffle<2, 3, 2, 3>(py));
820 *x2d = 0.5f * (skvx::shuffle<0, 0, 2, 2>(px) + skvx::shuffle<1, 1, 3, 3>(px));
821 *y2d = 0.5f * (skvx::shuffle<0, 0, 2, 2>(py) + skvx::shuffle<1, 1, 3, 3>(py));
835 using V2f = skvx::Vec<2, float>;
836 V2f eDenom = skvx::shuffle<0, 1>(fA) * skvx::shuffle<3, 2>(fB) -
837 skvx::shuffle<0, 1>(fB) * skvx::shuffle<3, 2>(fA);
838 V2f ex = (skvx::shuffle<0, 1>(fB) * skvx::shuffle<3, 2>(oc) -
839 skvx::shuffle<0, 1>(oc) * skvx::shuffle<3, 2>(fB)) / eDenom;
840 V2f ey = (skvx::shuffle<0, 1>(oc) * skvx::shuffle<3, 2>(fA) -
841 skvx::shuffle<0, 1>(fA) * skvx::shuffle<3, 2>(oc)) / eDenom;
843 V4f avgX = 0.5f * (skvx::shuffle<0, 1, 0, 2>(px) + skvx::shuffle<2, 3, 1, 3>(px));
844 V4f avgY = 0.5f * (skvx::shuffle<0, 1, 0, 2>(py) + skvx::shuffle<2, 3, 1, 3>(py));
880 const skvx::Vec<4, float>& edgeDistances) {
1006 V4f e1x = skvx::shuffle<2, 3, 2, 3>(fX) - skvx::shuffle<0, 1, 0, 1>(fX);
1007 V4f e1y = skvx::shuffle<2, 3, 2, 3>(fY) - skvx::shuffle<0, 1, 0, 1>(fY);
1008 V4f e1w = skvx::shuffle<2, 3, 2, 3>(fW) - skvx::shuffle<0, 1, 0, 1>(fW);
1013 V4f e2x = skvx::shuffle<1, 1, 3, 3>(fX) - skvx::shuffle<0, 0, 2, 2>(fX);
1014 V4f e2y = skvx::shuffle<1, 1, 3, 3>(fY) - skvx::shuffle<0, 0, 2, 2>(fY);
1015 V4f e2w = skvx::shuffle<1, 1, 3, 3>(fW) - skvx::shuffle<0, 0, 2, 2>(fW);
1040 M4f aMask = skvx::shuffle<0, 0, 3, 3>(mask);
1041 M4f bMask = skvx::shuffle<2, 1, 2, 1>(mask);
1090 V4f e1u = skvx::shuffle<2, 3, 2, 3>(fU) - skvx::shuffle<0, 1, 0, 1>(fU);
1091 V4f e1v = skvx::shuffle<2, 3, 2, 3>(fV) - skvx::shuffle<0, 1, 0, 1>(fV);
1092 V4f e1r = skvx::shuffle<2, 3, 2, 3>(fR) - skvx::shuffle<0, 1, 0, 1>(fR);
1095 V4f e2u = skvx::shuffle<1, 1, 3, 3>(fU) - skvx::shuffle<0, 0, 2, 2>(fU);
1096 V4f e2v = skvx::shuffle<1, 1, 3, 3>(fV) - skvx::shuffle<0, 0, 2, 2>(fV);
1097 V4f e2r = skvx::shuffle<1, 1, 3, 3>(fR) - skvx::shuffle<0, 0, 2, 2>(fR);
1129 V4f TessellationHelper::inset(const skvx::Vec<4, float>& edgeDistances,
1154 void TessellationHelper::outset(const skvx::Vec<4, float>& edgeDistances,
1169 void TessellationHelper::getEdgeEquations(skvx::Vec<4, float>* a,
1170 skvx::Vec<4, float>* b,
1171 skvx::Vec<4, float>* c) {
1180 skvx::Vec<4, float> TessellationHelper::getEdgeLengths() {
1186 const skvx::Vec<4, float>& edgeDistances) {
1219 void TessellationHelper::adjustVertices(const skvx::Vec<4, float>& signedEdgeDistances,
1236 int TessellationHelper::adjustDegenerateVertices(const skvx::Vec<4, float>& signedEdgeDistances,