Lines Matching refs:DrawTestSpec

44 static void genBasicSpec (gls::DrawTestSpec& spec, gls::DrawTestSpec::DrawMethod method)
47 spec.primitive = gls::DrawTestSpec::PRIMITIVE_TRIANGLES;
50 spec.indexType = gls::DrawTestSpec::INDEXTYPE_LAST;
52 spec.indexStorage = gls::DrawTestSpec::STORAGE_LAST;
60 spec.attribs[0].inputType = gls::DrawTestSpec::INPUTTYPE_FLOAT;
61 spec.attribs[0].outputType = gls::DrawTestSpec::OUTPUTTYPE_VEC2;
62 spec.attribs[0].storage = gls::DrawTestSpec::STORAGE_BUFFER;
63 spec.attribs[0].usage = gls::DrawTestSpec::USAGE_STATIC_DRAW;
71 spec.attribs[1].inputType = gls::DrawTestSpec::INPUTTYPE_FLOAT;
72 spec.attribs[1].outputType = gls::DrawTestSpec::OUTPUTTYPE_VEC2;
73 spec.attribs[1].storage = gls::DrawTestSpec::STORAGE_BUFFER;
74 spec.attribs[1].usage = gls::DrawTestSpec::USAGE_STATIC_DRAW;
86 IndexGroup (Context& context, const char* name, const char* descr, gls::DrawTestSpec::DrawMethod drawMethod);
92 gls::DrawTestSpec::DrawMethod m_method;
95 IndexGroup::IndexGroup (Context& context, const char* name, const char* descr, gls::DrawTestSpec::DrawMethod drawMethod)
109 gls::DrawTestSpec::Storage storage;
110 gls::DrawTestSpec::IndexType type;
117 { gls::DrawTestSpec::STORAGE_BUFFER, gls::DrawTestSpec::INDEXTYPE_SHORT, false, { 1, 3, -1 } },
120 gls::DrawTestSpec spec;
132 DE_ASSERT(indexTest.storage != gls::DrawTestSpec::STORAGE_USER);
136 const std::string name = std::string("index_") + gls::DrawTestSpec::indexTypeToString(indexTest.type);
137 const std::string desc = std::string("index ") + gls::DrawTestSpec::indexTypeToString(indexTest.type) + " in " + gls::DrawTestSpec::storageToString(indexTest.storage);
150 DE_ASSERT(spec.isCompatibilityTest() == gls::DrawTestSpec::COMPATIBILITY_UNALIGNED_OFFSET ||
151 spec.isCompatibilityTest() == gls::DrawTestSpec::COMPATIBILITY_UNALIGNED_STRIDE);
159 MethodGroup (Context& context, const char* name, const char* descr, gls::DrawTestSpec::DrawMethod drawMethod);
165 gls::DrawTestSpec::DrawMethod m_method;
168 MethodGroup::MethodGroup (Context& context, const char* name, const char* descr, gls::DrawTestSpec::DrawMethod drawMethod)
180 const bool indexed = (m_method == gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS) || (m_method == gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_INSTANCED) || (m_method == gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_RANGED);
235 gls::DrawTestSpec::Primitive primitives[] =
237 gls::DrawTestSpec::PRIMITIVE_POINTS,
238 gls::DrawTestSpec::PRIMITIVE_TRIANGLES,
239 gls::DrawTestSpec::PRIMITIVE_TRIANGLE_FAN,
240 gls::DrawTestSpec::PRIMITIVE_TRIANGLE_STRIP,
241 gls::DrawTestSpec::PRIMITIVE_LINES,
242 gls::DrawTestSpec::PRIMITIVE_LINE_STRIP,
243 gls::DrawTestSpec::PRIMITIVE_LINE_LOOP
247 gls::DrawTestSpec::DrawMethod drawMethods[] =
249 gls::DrawTestSpec::DRAWMETHOD_DRAWARRAYS,
250 gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS,
254 gls::DrawTestSpec::IndexType indexTypes[] =
256 gls::DrawTestSpec::INDEXTYPE_BYTE,
257 gls::DrawTestSpec::INDEXTYPE_SHORT,
261 gls::DrawTestSpec::Storage storages[] =
263 gls::DrawTestSpec::STORAGE_USER,
264 gls::DrawTestSpec::STORAGE_BUFFER,
268 gls::DrawTestSpec::InputType inputTypes[] =
270 gls::DrawTestSpec::INPUTTYPE_FLOAT,
271 gls::DrawTestSpec::INPUTTYPE_FIXED,
272 gls::DrawTestSpec::INPUTTYPE_BYTE,
273 gls::DrawTestSpec::INPUTTYPE_SHORT,
274 gls::DrawTestSpec::INPUTTYPE_UNSIGNED_BYTE,
275 gls::DrawTestSpec::INPUTTYPE_UNSIGNED_SHORT
279 gls::DrawTestSpec::OutputType outputTypes[] =
281 gls::DrawTestSpec::OUTPUTTYPE_FLOAT,
282 gls::DrawTestSpec::OUTPUTTYPE_VEC2,
283 gls::DrawTestSpec::OUTPUTTYPE_VEC3,
284 gls::DrawTestSpec::OUTPUTTYPE_VEC4,
288 gls::DrawTestSpec::Usage usages[] =
290 gls::DrawTestSpec::USAGE_STATIC_DRAW,
291 gls::DrawTestSpec::USAGE_DYNAMIC_DRAW,
292 gls::DrawTestSpec::USAGE_STREAM_DRAW,
309 gls::DrawTestSpec spec;
312 spec.primitive = random.chooseWeighted<gls::DrawTestSpec::Primitive> (DE_ARRAY_BEGIN(primitives), DE_ARRAY_END(primitives), primitiveWeights.weights);
314 spec.drawMethod = random.chooseWeighted<gls::DrawTestSpec::DrawMethod> (DE_ARRAY_BEGIN(drawMethods), DE_ARRAY_END(drawMethods), drawMethodWeights.weights);
315 spec.indexType = random.chooseWeighted<gls::DrawTestSpec::IndexType> (DE_ARRAY_BEGIN(indexTypes), DE_ARRAY_END(indexTypes), indexTypeWeights.weights);
317 spec.indexStorage = random.chooseWeighted<gls::DrawTestSpec::Storage> (DE_ARRAY_BEGIN(storages), DE_ARRAY_END(storages), storageWeights.weights);
330 gls::DrawTestSpec::AttributeSpec attribSpec;
332 attribSpec.inputType = random.chooseWeighted<gls::DrawTestSpec::InputType> (DE_ARRAY_BEGIN(inputTypes), DE_ARRAY_END(inputTypes), inputTypeWeights.weights);
333 attribSpec.outputType = random.chooseWeighted<gls::DrawTestSpec::OutputType> (DE_ARRAY_BEGIN(outputTypes), DE_ARRAY_END(outputTypes), outputTypeWeights.weights);
334 attribSpec.storage = random.chooseWeighted<gls::DrawTestSpec::Storage> (DE_ARRAY_BEGIN(storages), DE_ARRAY_END(storages), storageWeights.weights);
335 attribSpec.usage = random.chooseWeighted<gls::DrawTestSpec::Usage> (DE_ARRAY_BEGIN(usages), DE_ARRAY_END(usages), usageWeights.weights);
347 if (attribSpec.stride && attribSpec.componentCount * gls::DrawTestSpec::inputTypeSize(attribSpec.inputType) > attribSpec.stride)
359 if (spec.primitive != gls::DrawTestSpec::PRIMITIVE_POINTS)
365 if (spec.drawMethod == gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_RANGED && spec.indexMin == spec.indexMax && spec.primitive != gls::DrawTestSpec::PRIMITIVE_POINTS)
367 if (spec.attribs[0].useDefaultAttribute && spec.primitive != gls::DrawTestSpec::PRIMITIVE_POINTS)
371 if (spec.primitive == gls::DrawTestSpec::PRIMITIVE_TRIANGLES || spec.primitive == gls::DrawTestSpec::PRIMITIVE_TRIANGLE_FAN || spec.primitive == gls::DrawTestSpec::PRIMITIVE_TRIANGLE_STRIP)
375 if (spec.attribs[0].outputType == gls::DrawTestSpec::OUTPUTTYPE_FLOAT || spec.attribs[0].outputType == gls::DrawTestSpec::OUTPUTTYPE_INT || spec.attribs[0].outputType == gls::DrawTestSpec::OUTPUTTYPE_UINT)
377 if (spec.drawMethod == gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS_RANGED && (spec.indexMax - spec.indexMin) < 2)
392 if (spec.isCompatibilityTest() == gls::DrawTestSpec::COMPATIBILITY_UNALIGNED_OFFSET ||
393 spec.isCompatibilityTest() == gls::DrawTestSpec::COMPATIBILITY_UNALIGNED_STRIDE)
422 const gls::DrawTestSpec::DrawMethod basicMethods[] =
424 // gls::DrawTestSpec::DRAWMETHOD_DRAWARRAYS,
425 gls::DrawTestSpec::DRAWMETHOD_DRAWELEMENTS,
430 std::string name = gls::DrawTestSpec::drawMethodToString(basicMethods[ndx]);
431 std::string desc = gls::DrawTestSpec::drawMethodToString(basicMethods[ndx]);