Lines Matching refs:DrawTestSpec
64 static size_t getElementCount (gls::DrawTestSpec::Primitive primitive, size_t primitiveCount)
68 case gls::DrawTestSpec::PRIMITIVE_POINTS: return primitiveCount;
69 case gls::DrawTestSpec::PRIMITIVE_TRIANGLES: return primitiveCount * 3;
70 case gls::DrawTestSpec::PRIMITIVE_TRIANGLE_FAN: return primitiveCount + 2;
71 case gls::DrawTestSpec::PRIMITIVE_TRIANGLE_STRIP: return primitiveCount + 2;
72 case gls::DrawTestSpec::PRIMITIVE_LINES: return primitiveCount * 2;
73 case gls::DrawTestSpec::PRIMITIVE_LINE_STRIP: return primitiveCount + 1;
74 case gls::DrawTestSpec::PRIMITIVE_LINE_LOOP: return (primitiveCount==1) ? (2) : (primitiveCount);
75 case gls::DrawTestSpec::PRIMITIVE_LINES_ADJACENCY: return primitiveCount * 4;
76 case gls::DrawTestSpec::PRIMITIVE_LINE_STRIP_ADJACENCY: return primitiveCount + 3;
77 case gls::DrawTestSpec::PRIMITIVE_TRIANGLES_ADJACENCY: return primitiveCount * 6;
78 case gls::DrawTestSpec::PRIMITIVE_TRIANGLE_STRIP_ADJACENCY: return primitiveCount * 2 + 4;
85 static void addRangeElementsToSpec (gls::DrawTestSpec& spec)
87 if (spec.drawMethod == gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_RANGED_BASEVERTEX)
94 static void addTestIterations (gls::DrawTest* test, gls::DrawTestSpec& spec, TestIterationType type)
128 static void genBasicSpec (gls::DrawTestSpec& spec, glu::ContextType& contextType, gls::DrawTestSpec::DrawMethod method)
131 spec.primitive = gls::DrawTestSpec::PRIMITIVE_TRIANGLES;
134 spec.indexType = gls::DrawTestSpec::INDEXTYPE_LAST;
136 spec.indexStorage = gls::DrawTestSpec::STORAGE_LAST;
145 spec.attribs[0].inputType = gls::DrawTestSpec::INPUTTYPE_FLOAT;
146 spec.attribs[0].outputType = gls::DrawTestSpec::OUTPUTTYPE_VEC2;
147 spec.attribs[0].storage = gls::DrawTestSpec::STORAGE_BUFFER;
148 spec.attribs[0].usage = gls::DrawTestSpec::USAGE_STATIC_DRAW;
156 spec.attribs[1].inputType = gls::DrawTestSpec::INPUTTYPE_FLOAT;
157 spec.attribs[1].outputType = gls::DrawTestSpec::OUTPUTTYPE_VEC2;
158 spec.attribs[1].storage = gls::DrawTestSpec::STORAGE_BUFFER;
159 spec.attribs[1].usage = gls::DrawTestSpec::USAGE_STATIC_DRAW;
173 VertexIDCase (Context& context, gls::DrawTestSpec::DrawMethod drawMethod);
190 gls::DrawTestSpec::DrawMethod m_method;
204 VertexIDCase::VertexIDCase (Context& context, gls::DrawTestSpec::DrawMethod drawMethod)
224 if (m_method == deqp::gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_BASEVERTEX ||
225 m_method == gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_RANGED_BASEVERTEX ||
226 m_method == gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_INSTANCED_BASEVERTEX)
302 case gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_BASEVERTEX:
306 case gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_RANGED_BASEVERTEX:
314 case gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_INSTANCED_BASEVERTEX:
452 BuiltInVariableGroup (Context& context, const char* name, const char* descr, gls::DrawTestSpec::DrawMethod drawMethod);
458 gls::DrawTestSpec::DrawMethod m_method;
461 BuiltInVariableGroup::BuiltInVariableGroup (Context& context, const char* name, const char* descr, gls::DrawTestSpec::DrawMethod drawMethod)
479 IndexGroup (Context& context, const char* name, const char* descr, gls::DrawTestSpec::DrawMethod drawMethod);
485 gls::DrawTestSpec::DrawMethod m_method;
488 IndexGroup::IndexGroup (Context& context, const char* name, const char* descr, gls::DrawTestSpec::DrawMethod drawMethod)
502 gls::DrawTestSpec::IndexType type;
508 { gls::DrawTestSpec::INDEXTYPE_BYTE, { 0, 1, -1 } },
509 { gls::DrawTestSpec::INDEXTYPE_SHORT, { 0, 2, -1 } },
510 { gls::DrawTestSpec::INDEXTYPE_INT, { 0, 4, -1 } },
513 gls::DrawTestSpec spec;
517 spec.indexStorage = gls::DrawTestSpec::STORAGE_BUFFER;
523 const std::string name = std::string("index_") + gls::DrawTestSpec::indexTypeToString(indexTest.type);
524 const std::string desc = std::string("index ") + gls::DrawTestSpec::indexTypeToString(indexTest.type);
531 const std::string iterationDesc = std::string("first vertex ") + de::toString(indexTest.offsets[iterationNdx] / gls::DrawTestSpec::indexTypeSize(indexTest.type));
543 BaseVertexGroup (Context& context, const char* name, const char* descr, gls::DrawTestSpec::DrawMethod drawMethod);
549 gls::DrawTestSpec::DrawMethod m_method;
552 BaseVertexGroup::BaseVertexGroup (Context& context, const char* name, const char* descr, gls::DrawTestSpec::DrawMethod drawMethod)
567 gls::DrawTestSpec::IndexType type;
573 { true, gls::DrawTestSpec::INDEXTYPE_BYTE, { 1, 2 } },
574 { true, gls::DrawTestSpec::INDEXTYPE_SHORT, { 1, 2 } },
575 { true, gls::DrawTestSpec::INDEXTYPE_INT, { 1, 2 } },
576 { false, gls::DrawTestSpec::INDEXTYPE_BYTE, { -1, -2 } },
577 { false, gls::DrawTestSpec::INDEXTYPE_SHORT, { -1, -2 } },
578 { false, gls::DrawTestSpec::INDEXTYPE_INT, { -1, -2 } },
581 gls::DrawTestSpec spec;
585 spec.indexStorage = gls::DrawTestSpec::STORAGE_BUFFER;
591 const std::string name = std::string("index_") + (indexTest.positiveBase ? "" : "neg_") + gls::DrawTestSpec::indexTypeToString(indexTest.type);
592 const std::string desc = std::string("index ") + gls::DrawTestSpec::indexTypeToString(indexTest.type);
617 AttributeGroup (Context& context, const char* name, const char* descr, gls::DrawTestSpec::DrawMethod drawMethod, gls::DrawTestSpec::Primitive primitive, gls::DrawTestSpec::IndexType indexType, gls::DrawTestSpec::Storage indexStorage);
623 gls::DrawTestSpec::DrawMethod m_method;
624 gls::DrawTestSpec::Primitive m_primitive;
625 gls::DrawTestSpec::IndexType m_indexType;
626 gls::DrawTestSpec::Storage m_indexStorage;
629 AttributeGroup::AttributeGroup (Context& context, const char* name, const char* descr, gls::DrawTestSpec::DrawMethod drawMethod, gls::DrawTestSpec::Primitive primitive, gls::DrawTestSpec::IndexType indexType, gls::DrawTestSpec::Storage indexStorage)
647 gls::DrawTestSpec spec;
665 spec.attribs[0].inputType = gls::DrawTestSpec::INPUTTYPE_FLOAT;
666 spec.attribs[0].outputType = gls::DrawTestSpec::OUTPUTTYPE_VEC2;
667 spec.attribs[0].storage = gls::DrawTestSpec::STORAGE_BUFFER;
668 spec.attribs[0].usage = gls::DrawTestSpec::USAGE_STATIC_DRAW;
684 gls::DrawTestSpec spec;
702 spec.attribs[0].inputType = gls::DrawTestSpec::INPUTTYPE_FLOAT;
703 spec.attribs[0].outputType = gls::DrawTestSpec::OUTPUTTYPE_VEC2;
704 spec.attribs[0].storage = gls::DrawTestSpec::STORAGE_BUFFER;
705 spec.attribs[0].usage = gls::DrawTestSpec::USAGE_STATIC_DRAW;
713 spec.attribs[1].inputType = gls::DrawTestSpec::INPUTTYPE_FLOAT;
714 spec.attribs[1].outputType = gls::DrawTestSpec::OUTPUTTYPE_VEC2;
715 spec.attribs[1].storage = gls::DrawTestSpec::STORAGE_BUFFER;
716 spec.attribs[1].usage = gls::DrawTestSpec::USAGE_STATIC_DRAW;
732 gls::DrawTestSpec spec;
750 spec.attribs[0].inputType = gls::DrawTestSpec::INPUTTYPE_FLOAT;
751 spec.attribs[0].outputType = gls::DrawTestSpec::OUTPUTTYPE_VEC2;
752 spec.attribs[0].storage = gls::DrawTestSpec::STORAGE_BUFFER;
753 spec.attribs[0].usage = gls::DrawTestSpec::USAGE_STATIC_DRAW;
762 spec.attribs[1].inputType = gls::DrawTestSpec::INPUTTYPE_FLOAT;
763 spec.attribs[1].outputType = gls::DrawTestSpec::OUTPUTTYPE_VEC2;
764 spec.attribs[1].storage = gls::DrawTestSpec::STORAGE_BUFFER;
765 spec.attribs[1].usage = gls::DrawTestSpec::USAGE_STATIC_DRAW;
775 spec.attribs[2].inputType = gls::DrawTestSpec::INPUTTYPE_FLOAT;
776 spec.attribs[2].outputType = gls::DrawTestSpec::OUTPUTTYPE_VEC2;
777 spec.attribs[2].storage = gls::DrawTestSpec::STORAGE_BUFFER;
778 spec.attribs[2].usage = gls::DrawTestSpec::USAGE_STATIC_DRAW;
794 gls::DrawTestSpec spec;
812 spec.attribs[0].inputType = gls::DrawTestSpec::INPUTTYPE_FLOAT;
813 spec.attribs[0].outputType = gls::DrawTestSpec::OUTPUTTYPE_VEC2;
814 spec.attribs[0].storage = gls::DrawTestSpec::STORAGE_BUFFER;
815 spec.attribs[0].usage = gls::DrawTestSpec::USAGE_STATIC_DRAW;
825 gls::DrawTestSpec::InputType input;
826 gls::DrawTestSpec::OutputType output;
830 { gls::DrawTestSpec::INPUTTYPE_FLOAT, gls::DrawTestSpec::OUTPUTTYPE_VEC2, 4 },
831 { gls::DrawTestSpec::INPUTTYPE_FLOAT, gls::DrawTestSpec::OUTPUTTYPE_VEC4, 2 },
832 { gls::DrawTestSpec::INPUTTYPE_INT, gls::DrawTestSpec::OUTPUTTYPE_IVEC3, 4 },
833 { gls::DrawTestSpec::INPUTTYPE_UNSIGNED_INT, gls::DrawTestSpec::OUTPUTTYPE_UVEC2, 4 },
838 const std::string desc = gls::DrawTestSpec::inputTypeToString(iopairs[ioNdx].input) + de::toString(iopairs[ioNdx].componentCount) + " to " + gls::DrawTestSpec::outputTypeToString(iopairs[ioNdx].output);
842 spec.attribs[1].storage = gls::DrawTestSpec::STORAGE_BUFFER;
843 spec.attribs[1].usage = gls::DrawTestSpec::USAGE_STATIC_DRAW;
861 MethodGroup (Context& context, const char* name, const char* descr, gls::DrawTestSpec::DrawMethod drawMethod);
867 gls::DrawTestSpec::DrawMethod m_method;
870 MethodGroup::MethodGroup (Context& context, const char* name, const char* descr, gls::DrawTestSpec::DrawMethod drawMethod)
882 const bool indexed = (m_method == gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_BASEVERTEX)
883 || (m_method == gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_RANGED_BASEVERTEX)
884 || (m_method == gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_INSTANCED_BASEVERTEX);
886 const gls::DrawTestSpec::Primitive primitive[] =
888 gls::DrawTestSpec::PRIMITIVE_POINTS,
889 gls::DrawTestSpec::PRIMITIVE_TRIANGLES,
890 gls::DrawTestSpec::PRIMITIVE_TRIANGLE_FAN,
891 gls::DrawTestSpec::PRIMITIVE_TRIANGLE_STRIP,
892 gls::DrawTestSpec::PRIMITIVE_LINES,
893 gls::DrawTestSpec::PRIMITIVE_LINE_STRIP,
894 gls::DrawTestSpec::PRIMITIVE_LINE_LOOP
907 const std::string name = gls::DrawTestSpec::primitiveToString(primitive[ndx]);
908 const std::string desc = gls::DrawTestSpec::primitiveToString(primitive[ndx]);
910 this->addChild(new AttributeGroup(m_context, name.c_str(), desc.c_str(), m_method, primitive[ndx], gls::DrawTestSpec::INDEXTYPE_SHORT, gls::DrawTestSpec::STORAGE_BUFFER));
927 const gls::DrawTestSpec::DrawMethod basicMethods[] =
929 gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_BASEVERTEX,
930 gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_RANGED_BASEVERTEX,
931 gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_INSTANCED_BASEVERTEX,
936 const std::string name = gls::DrawTestSpec::drawMethodToString(basicMethods[ndx]);
937 const std::string desc = gls::DrawTestSpec::drawMethodToString(basicMethods[ndx]);