Home | History | Annotate | Download | only in functional

Lines Matching refs:Vec3

68 using tcu::Vec3;
95 static inline bool vec3XLessThan (const Vec3& a, const Vec3& b) { return a.x() < b.x(); }
618 bool contains (const Vec3& v) const
659 static vector<Vec3> generateReferenceTriangleTessCoords (SpacingMode spacingMode, int inner, int outer0, int outer1, int outer2)
661 vector<Vec3> tessCoords;
667 tessCoords.push_back(Vec3(1.0f, 0.0f, 0.0f));
668 tessCoords.push_back(Vec3(0.0f, 1.0f, 0.0f));
669 tessCoords.push_back(Vec3(0.0f, 0.0f, 1.0f));
678 for (int i = 0; i < outer0; i++) { const float v = (float)i / (float)outer0; tessCoords.push_back(Vec3( 0.0f, v, 1.0f - v)); }
679 for (int i = 0; i < outer1; i++) { const float v = (float)i / (float)outer1; tessCoords.push_back(Vec3(1.0f - v, 0.0f, v)); }
680 for (int i = 0; i < outer2; i++) { const float v = (float)i / (float)outer2; tessCoords.push_back(Vec3( v, 1.0f - v, 0.0f)); }
688 tessCoords.push_back(Vec3(1.0f/3.0f));
693 const Vec3 corners[3] =
695 Vec3(maxUVW, minUVW, minUVW),
696 Vec3(minUVW, maxUVW, minUVW),
697 Vec3(minUVW, minUVW, maxUVW)
743 static vector<Vec3> generateReferenceQuadTessCoords (SpacingMode spacingMode, int inner0, int inner1, int outer0, int outer1, int outer2, int outer3)
745 vector<Vec3> tessCoords;
751 tessCoords.push_back(Vec3(0.0f, 0.0f, 0.0f));
752 tessCoords.push_back(Vec3(1.0f, 0.0f, 0.0f));
753 tessCoords.push_back(Vec3(0.0f, 1.0f, 0.0f));
754 tessCoords.push_back(Vec3(1.0f, 1.0f, 0.0f));
764 for (int i = 0; i < outer0; i++) { const float v = (float)i / (float)outer0; tessCoords.push_back(Vec3(0.0f, v, 0.0f)); }
765 for (int i = 0; i < outer1; i++) { const float v = (float)i / (float)outer1; tessCoords.push_back(Vec3(1.0f-v, 0.0f, 0.0f)); }
766 for (int i = 0; i < outer2; i++) { const float v = (float)i / (float)outer2; tessCoords.push_back(Vec3(1.0f, 1.0f-v, 0.0f)); }
767 for (int i = 0; i < outer3; i++) { const float v = (float)i / (float)outer3; tessCoords.push_back(Vec3(v, 1.0f, 0.0f)); }
771 tessCoords.push_back(Vec3((float)(innerVtxX + 1) / (float)inner0,
781 vector<Vec3> tessCoords;
797 static vector<Vec3> generateReferenceIsolineTessCoords (int outer0, int outer1)
799 vector<Vec3> tessCoords;
803 tessCoords.push_back(Vec3((float)x / (float)outer1,
845 static vector<Vec3> generateReferenceTessCoords (TessPrimitiveType primitiveType, SpacingMode spacingMode, const float* innerLevels, const float* outerLevels)
848 return vector<Vec3>();
906 return vector<Vec3>();
1039 static void drawTessCoordPoint (tcu::Surface& dst, TessPrimitiveType primitiveType, const Vec3& pt, const tcu::RGBA& color, int size)
1068 static void drawTessCoordVisualization (tcu::Surface& dst, TessPrimitiveType primitiveType, const vector<Vec3>& coords)
1080 static int binarySearchFirstVec3WithXAtLeast (const vector<Vec3>& sorted, float x)
1082 const Vec3 ref(x, 0.0f, 0.0f);
1083 const vector<Vec3>::const_iterator first = std::lower_bound(sorted.begin(), sorted.end(), ref, vec3XLessThan);
1109 const vector<Vec3>& subset,
1110 const vector<Vec3>& superset,
1115 const vector<Vec3> supersetSorted = sorted(superset, vec3XLessThan);
1122 const Vec3& subPt = subset[subNdx];
1128 const Vec3 matchMin = subPt - epsilon;
1129 const Vec3 matchMax = subPt + epsilon;
1137 const Vec3& superPt = supersetSorted[superNdx];
1164 static bool compareTessCoords (TestLog& log, TessPrimitiveType primitiveType, const vector<Vec3>& refCoords, const vector<Vec3>& resCoords)
1456 static bool compareTriangleSets (const vector<Vec3>& coordsA,
1457 const vector<Vec3>& coordsB,
1462 typedef tcu::Vector<Vec3, 3> Triangle;
1475 const vector<Vec3>& coords = aOrB == 0 ? coordsA : coordsB;
1523 static bool compareTriangleSets (const vector<Vec3>& coordsA, const vector<Vec3>& coordsB, TestLog& log)
1525 return compareTriangleSets(coordsA, coordsB, log, ConstantUnaryPredicate<const Vec3*, true>());
1918 "out highp vec3 out_te_tessCoord;\n"
2007 typedef TransformFeedbackHandler<Vec3> TFHandler;
2023 vector<vector<Vec3> > caseReferences (tessLevelCases.size());
2028 const int maxNumVertices = (int)std::max_element(caseReferences.begin(), caseReferences.end(), SizeLessThan<vector<Vec3> >())->size();
2054 const vector<Vec3>& tessCoordsRef = caseReferences[tessLevelCaseNdx];
3192 " in_f_color = ok ? vec4(1.0) : vec4(vec3(0.0), 1.0);\n"
3513 virtual bool compare (const vector<Vec3>& coordsA, const vector<Vec3>& coordsB, int levelCaseMem) const = 0;
3637 "invariant out highp vec3 out_te_tessCoord;\n"
3683 typedef TransformFeedbackHandler<Vec3> TFHandler;
3714 vector<Vec3> firstPrimVertices;
3750 const vector<Vec3> prim0Vertices = vector<Vec3>(tfResult.varying.begin(), tfResult.varying.begin() + half);
3751 const Vec3* const prim1Vertices = &tfResult.varying[half];
3806 virtual bool compare (const vector<Vec3>& coordsA, const vector<Vec3>& coordsB, int) const
3928 "invariant out highp vec3 out_te_tessCoord;\n"
3974 typedef TransformFeedbackHandler<Vec3> TFHandler;
4008 typedef std::set<Vec3, VecLexLessThan<3> > Vec3Set;
4054 const Vec3& vtx = tfResult.varying[vtxNdx];
4287 typedef std::set<Vec3, VecLexLessThan<3> > Vec3Set;
4325 const Vec3& vtx = tfResult.varying[vtxNdx].swizzle(0,1,2);
4330 if (m_primitiveType == TESSPRIMITIVETYPE_TRIANGLES && vtx == tcu::select(Vec3(0.0f), Vec3(0.5f), singleTrueMask<3>(edgeDesc.constantCoordinateIndex)))
4336 if (m_primitiveType == TESSPRIMITIVETYPE_ISOLINES && (vtx == Vec3(0.0f, 0.5f, 0.0f) || vtx == Vec3(1.0f, 0.5f, 0.0f) ||
4337 vtx == Vec3(0.0f, 0.0f, 0.0f) || vtx == Vec3(1.0f, 0.0f, 0.0f)))
4352 Vec3 endpointA;
4353 Vec3 endpointB;
4357 endpointA = tcu::select(Vec3(1.0f), Vec3(0.0f), singleTrueMask<3>((edgeDesc.constantCoordinateIndex + 1) % 3));
4358 endpointB = tcu::select(Vec3(1.0f), Vec3(0.0f), singleTrueMask<3>((edgeDesc.constantCoordinateIndex + 2) % 3));
4483 "out highp vec3 out_te_tessCoord;\n"
4518 typedef TransformFeedbackHandler<Vec3> TFHandler;
4546 typedef std::set<Vec3, VecLexLessThan<3> > Vec3Set;
4581 const Vec3& vtx = tfResult.varying[vtxNdx];
4590 : Vec3(-1.0f));
4594 currentEdgeVertices.insert(Vec3(outerEdgeIndex == 0 ? vtx.y()
4662 virtual bool compare (const vector<Vec3>& coordsA, const vector<Vec3>& coordsB, int) const
4716 bool operator() (const Vec3* vertices) const
4728 bool operator() (const Vec3* vertices) const
4738 virtual bool compare (const vector<Vec3>& coordsA, const vector<Vec3>& coordsB, int) const
4818 bool operator() (const Vec3* vertices) const
4827 const Vec3 avg = (vertices[0] + vertices[1] + vertices[2]) / 3.0f;
4843 bool onEdge (const Vec3& v) const
4848 static inline bool onAnyEdge (const Vec3& v)
4853 bool operator() (const Vec3* vertices) const
4857 const Vec3& a = vertices[v];
4858 const Vec3& b = vertices[(v+1)%3];
4859 const Vec3& c = vertices[(v+2)%3];
4873 virtual bool compare (const vector<Vec3>& coordsA, const vector<Vec3>& coordsB, int outerEdgeNdx) const
4974 "out highp vec3 out_te_output;\n"
5026 typedef TransformFeedbackHandler<Vec3> TFHandler;
5059 const Vec3& vec = tfResult.varying[vtxNdx];
5233 "out highp vec3 out_te_tessCoord;\n"
5323 typedef TransformFeedbackHandler<Vec3> TFHandler;