Lines Matching refs:spec
85 static void addRangeElementsToSpec (gls::DrawTestSpec& spec)
87 if (spec.drawMethod == gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_RANGED_BASEVERTEX)
89 spec.indexMin = 0;
90 spec.indexMax = (int)getElementCount(spec.primitive, spec.primitiveCount);
94 static void addTestIterations (gls::DrawTest* test, gls::DrawTestSpec& spec, TestIterationType type)
98 spec.primitiveCount = 1;
99 addRangeElementsToSpec(spec);
100 test->addIteration(spec, "draw count = 1");
102 spec.primitiveCount = 5;
103 addRangeElementsToSpec(spec);
104 test->addIteration(spec, "draw count = 5");
106 spec.primitiveCount = 25;
107 addRangeElementsToSpec(spec);
108 test->addIteration(spec, "draw count = 25");
112 spec.instanceCount = 1;
113 addRangeElementsToSpec(spec);
114 test->addIteration(spec, "instance count = 1");
116 spec.instanceCount = 4;
117 addRangeElementsToSpec(spec);
118 test->addIteration(spec, "instance count = 4");
120 spec.instanceCount = 11;
121 addRangeElementsToSpec(spec);
122 test->addIteration(spec, "instance count = 11");
128 static void genBasicSpec (gls::DrawTestSpec& spec, glu::ContextType& contextType, gls::DrawTestSpec::DrawMethod method)
130 spec.apiType = glu::isContextTypeES(contextType) ? glu::ApiType::es(3,1) : contextType.getAPI();
131 spec.primitive = gls::DrawTestSpec::PRIMITIVE_TRIANGLES;
132 spec.primitiveCount = 5;
133 spec.drawMethod = method;
134 spec.indexType = gls::DrawTestSpec::INDEXTYPE_LAST;
135 spec.indexPointerOffset = 0;
136 spec.indexStorage = gls::DrawTestSpec::STORAGE_LAST;
137 spec.first = 0;
138 spec.indexMin = 0;
139 spec.indexMax = 0;
140 spec.instanceCount = 1;
141 spec.indirectOffset = 0;
143 spec.attribs.resize(2);
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;
149 spec.attribs[0].componentCount = 4;
150 spec.attribs[0].offset = 0;
151 spec.attribs[0].stride = 0;
152 spec.attribs[0].normalize = false;
153 spec.attribs[0].instanceDivisor = 0;
154 spec.attribs[0].useDefaultAttribute = false;
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;
160 spec.attribs[1].componentCount = 2;
161 spec.attribs[1].offset = 0;
162 spec.attribs[1].stride = 0;
163 spec.attribs[1].normalize = false;
164 spec.attribs[1].instanceDivisor = 0;
165 spec.attribs[1].useDefaultAttribute = false;
167 addRangeElementsToSpec(spec);
513 gls::DrawTestSpec spec;
515 genBasicSpec(spec, contextType, m_method);
517 spec.indexStorage = gls::DrawTestSpec::STORAGE_BUFFER;
527 spec.indexType = indexTest.type;
532 spec.indexPointerOffset = indexTest.offsets[iterationNdx];
533 test->addIteration(spec, iterationDesc.c_str());
581 gls::DrawTestSpec spec;
583 genBasicSpec(spec, contextType, m_method);
585 spec.indexStorage = gls::DrawTestSpec::STORAGE_BUFFER;
595 spec.indexType = indexTest.type;
600 spec.baseVertex = indexTest.baseVertex[iterationNdx];
601 // spec.indexMin + spec.baseVertex can not be a negative value
602 if (spec.indexMin + spec.baseVertex < 0)
604 spec.indexMax -= (spec.indexMin + spec.baseVertex);
605 spec.indexMin -= (spec.indexMin + spec.baseVertex);
607 test->addIteration(spec, iterationDesc.c_str());
647 gls::DrawTestSpec spec;
650 spec.apiType = glu::isContextTypeES(contextType) ? glu::ApiType::es(3,1) : contextType.getAPI();
651 spec.primitive = m_primitive;
652 spec.primitiveCount = 5;
653 spec.drawMethod = m_method;
654 spec.indexType = m_indexType;
655 spec.indexPointerOffset = 0;
656 spec.indexStorage = m_indexStorage;
657 spec.first = 0;
658 spec.indexMin = 0;
659 spec.indexMax = 0;
660 spec.instanceCount = 1;
661 spec.indirectOffset = 0;
663 spec.attribs.resize(1);
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;
669 spec.attribs[0].componentCount = 2;
670 spec.attribs[0].offset = 0;
671 spec.attribs[0].stride = 0;
672 spec.attribs[0].normalize = false;
673 spec.attribs[0].instanceDivisor = 0;
674 spec.attribs[0].useDefaultAttribute = false;
676 addTestIterations(test, spec, TYPE_DRAW_COUNT);
684 gls::DrawTestSpec spec;
687 spec.apiType = glu::isContextTypeES(contextType) ? glu::ApiType::es(3,1) : contextType.getAPI();
688 spec.primitive = m_primitive;
689 spec.primitiveCount = 5;
690 spec.drawMethod = m_method;
691 spec.indexType = m_indexType;
692 spec.indexPointerOffset = 0;
693 spec.indexStorage = m_indexStorage;
694 spec.first = 0;
695 spec.indexMin = 0;
696 spec.indexMax = 0;
697 spec.instanceCount = 1;
698 spec.indirectOffset = 0;
700 spec.attribs.resize(2);
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;
706 spec.attribs[0].componentCount = 4;
707 spec.attribs[0].offset = 0;
708 spec.attribs[0].stride = 0;
709 spec.attribs[0].normalize = false;
710 spec.attribs[0].instanceDivisor = 0;
711 spec.attribs[0].useDefaultAttribute = false;
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;
717 spec.attribs[1].componentCount = 2;
718 spec.attribs[1].offset = 0;
719 spec.attribs[1].stride = 0;
720 spec.attribs[1].normalize = false;
721 spec.attribs[1].instanceDivisor = 0;
722 spec.attribs[1].useDefaultAttribute = false;
724 addTestIterations(test, spec, TYPE_DRAW_COUNT);
732 gls::DrawTestSpec spec;
735 spec.apiType = glu::isContextTypeES(contextType) ? glu::ApiType::es(3,1) : contextType.getAPI();
736 spec.primitive = m_primitive;
737 spec.primitiveCount = 5;
738 spec.drawMethod = m_method;
739 spec.indexType = m_indexType;
740 spec.indexPointerOffset = 0;
741 spec.indexStorage = m_indexStorage;
742 spec.first = 0;
743 spec.indexMin = 0;
744 spec.indexMax = 0;
745 spec.instanceCount = 1;
746 spec.indirectOffset = 0;
748 spec.attribs.resize(3);
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;
754 spec.attribs[0].componentCount = 4;
755 spec.attribs[0].offset = 0;
756 spec.attribs[0].stride = 0;
757 spec.attribs[0].normalize = false;
758 spec.attribs[0].instanceDivisor = 0;
759 spec.attribs[0].useDefaultAttribute = false;
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;
766 spec.attribs[1].componentCount = 2;
767 spec.attribs[1].offset = 0;
768 spec.attribs[1].stride = 0;
769 spec.attribs[1].normalize = false;
770 spec.attribs[1].instanceDivisor = 1;
771 spec.attribs[1].useDefaultAttribute = false;
772 spec.attribs[1].additionalPositionAttribute = true;
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;
779 spec.attribs[2].componentCount = 3;
780 spec.attribs[2].offset = 0;
781 spec.attribs[2].stride = 0;
782 spec.attribs[2].normalize = false;
783 spec.attribs[2].instanceDivisor = 1;
784 spec.attribs[2].useDefaultAttribute = false;
786 addTestIterations(test, spec, TYPE_INSTANCE_COUNT);
794 gls::DrawTestSpec spec;
797 spec.apiType = glu::isContextTypeES(contextType) ? glu::ApiType::es(3,1) : contextType.getAPI();
798 spec.primitive = m_primitive;
799 spec.primitiveCount = 5;
800 spec.drawMethod = m_method;
801 spec.indexType = m_indexType;
802 spec.indexPointerOffset = 0;
803 spec.indexStorage = m_indexStorage;
804 spec.first = 0;
805 spec.indexMin = 0;
806 spec.indexMax = 0;
807 spec.instanceCount = 1;
808 spec.indirectOffset = 0;
810 spec.attribs.resize(2);
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;
816 spec.attribs[0].componentCount = 2;
817 spec.attribs[0].offset = 0;
818 spec.attribs[0].stride = 0;
819 spec.attribs[0].normalize = false;
820 spec.attribs[0].instanceDivisor = 0;
821 spec.attribs[0].useDefaultAttribute = false;
840 spec.attribs[1].inputType = iopairs[ioNdx].input;
841 spec.attribs[1].outputType = iopairs[ioNdx].output;
842 spec.attribs[1].storage = gls::DrawTestSpec::STORAGE_BUFFER;
843 spec.attribs[1].usage = gls::DrawTestSpec::USAGE_STATIC_DRAW;
844 spec.attribs[1].componentCount = iopairs[ioNdx].componentCount;
845 spec.attribs[1].offset = 0;
846 spec.attribs[1].stride = 0;
847 spec.attribs[1].normalize = false;
848 spec.attribs[1].instanceDivisor = 0;
849 spec.attribs[1].useDefaultAttribute = true;
851 test->addIteration(spec, desc.c_str());