Home | History | Annotate | Download | only in functional

Lines Matching refs:glu

98 						Varying				(const char* name_, const glu::VarType& type_, Interpolation interp_)
106 glu::VarType type; //!< Variable type.
120 Attribute (const std::string& name_, const glu::VarType& type_, int offset_)
128 glu::VarType type;
149 glu::VarType type;
184 glu::StructType* createStruct (const char* name);
185 void addVarying (const char* name, const glu::VarType& type, Interpolation interp);
188 const vector<glu::StructType*>& getStructs (void) const { return m_structs; }
197 vector<glu::StructType*> m_structs;
210 for (vector<glu::StructType*>::iterator i = m_structs.begin(); i != m_structs.end(); i++)
214 glu::StructType* ProgramSpec::createStruct (const char* name)
217 m_structs.push_back(new glu::StructType(name));
221 void ProgramSpec::addVarying (const char* name, const glu::VarType& type, Interpolation interp)
252 for (glu::VectorTypeIterator vecIter = glu::VectorTypeIterator::begin(&var->type); vecIter != glu::VectorTypeIterator::end(&var->type); vecIter++)
273 string varName = glu::parseVariableName(name.c_str());
275 glu::TypeComponentVector varPath;
277 glu::parseTypePath(name.c_str(), varying.type, varPath);
278 numComponents = glu::getVarType(varying.type, varPath).getScalarSize();
299 static std::string getAttributeName (const char* varyingName, const glu::TypeComponentVector& path)
305 for (glu::TypeComponentVector::const_iterator iter = path.begin(); iter != path.end(); iter++)
311 case glu::VarTypeComponent::STRUCT_MEMBER: prefix = "_m"; break;
312 case glu::VarTypeComponent::ARRAY_ELEMENT: prefix = "_e"; break;
313 case glu::VarTypeComponent::MATRIX_COLUMN: prefix = "_c"; break;
314 case glu::VarTypeComponent::VECTOR_COMPONENT: prefix = "_s"; break;
345 const glu::VarType& type = var->type;
347 for (glu::VectorTypeIterator vecIter = glu::VectorTypeIterator::begin(&type); vecIter != glu::VectorTypeIterator::end(&type); vecIter++)
349 glu::VarType attribType = glu::getVarType(type, vecIter.getPath());
352 vtx << "in " << glu::declare(attribType, attribName.c_str()) << ";\n";
363 for (vector<glu::StructType*>::const_iterator structIter = spec.getStructs().begin(); structIter != spec.getStructs().end(); structIter++)
365 const glu::StructType* structPtr = *structIter;
367 str << glu::declare(structPtr) << ";\n";
371 str << getInterpolationName(var->interpolation) << " " << inout << " " << glu::declare(var->type, var->name.c_str()) << ";\n";
388 const glu::VarType& type = var->type;
390 for (glu::VectorTypeIterator vecIter = glu::VectorTypeIterator::begin(&type); vecIter != glu::VectorTypeIterator::end(&type); vecIter++)
392 glu::VarType subType = glu::getVarType(type, vecIter.getPath());
395 DE_ASSERT(subType.isBasicType() && glu::isDataTypeScalarOrVector(subType.getBasicType()));
401 int scalarSize = glu::getDataTypeScalarSize(subType.getBasicType());
422 static glu::ShaderProgram* createVertexCaptureProgram (const glu::RenderContext& context, const ProgramSpec& spec, deUint32 bufferMode, deUint32 primitiveType)
428 return new glu::ShaderProgram(context, glu::ProgramSources()
429 << glu::VertexSource(vertSource)
430 << glu::FragmentSource(fragSource)
431 << glu::TransformFeedbackVaryings<vector<string>::const_iterator>(spec.getTransformFeedbackVaryings().begin(), spec.getTransformFeedbackVaryings().end())
432 << glu::TransformFeedbackMode(bufferMode));
442 attributes.push_back(Attribute("a_position", glu::VarType(glu::TYPE_FLOAT_VEC4, glu::PRECISION_HIGHP), inputStride));
447 attributes.push_back(Attribute("a_pointSize", glu::VarType(glu::TYPE_FLOAT, glu::PRECISION_HIGHP), inputStride));
454 for (glu::VectorTypeIterator vecIter = glu::VectorTypeIterator::begin(&var->type); vecIter != glu::VectorTypeIterator::end(&var->type); vecIter++)
456 glu::VarType type = vecIter.getType();
460 inputStride += glu::getDataTypeScalarSize(type.getBasicType())*(int)sizeof(deUint32);
495 string varName = glu::parseVariableName(name.c_str());
497 glu::TypeComponentVector varPath;
499 glu::parseTypePath(name.c_str(), varying.type, varPath);
501 output.type = glu::getVarType(varying.type, varPath);
504 for (glu::VectorTypeIterator iter = glu::VectorTypeIterator::begin(&output.type); iter != glu::VectorTypeIterator::end(&output.type); iter++)
507 glu::TypeComponentVector fullPath(varPath.size() + iter.getPath().size());
537 const bool isFloat = glu::isDataTypeFloatOrVec(attrib.type.getBasicType());
538 const bool isInt = glu::isDataTypeIntOrIVec(attrib.type.getBasicType());
539 const bool isUint = glu::isDataTypeUintOrUVec(attrib.type.getBasicType());
540 const glu::Precision precision = attrib.type.getPrecision();
541 const int numComps = glu::getDataTypeScalarSize(attrib.type.getBasicType());
553 case glu::PRECISION_LOWP: *comp = 0.0f + 0.25f*(float)rnd.getInt(0, 4); break;
554 case glu::PRECISION_MEDIUMP: *comp = rnd.getFloat(-1e3f, 1e3f); break;
555 case glu::PRECISION_HIGHP: *comp = rnd.getFloat(-1e5f, 1e5f); break;
565 case glu::PRECISION_LOWP: *comp = (int)signExtend(rnd.getUint32()&0xff, 8); break;
566 case glu::PRECISION_MEDIUMP: *comp = (int)signExtend(rnd.getUint32()&0xffff, 16); break;
567 case glu::PRECISION_HIGHP: *comp = (int)rnd.getUint32(); break;
577 case glu::PRECISION_LOWP: *comp = rnd.getUint32()&0xff; break;
578 case glu::PRECISION_MEDIUMP: *comp = rnd.getUint32()&0xffff; break;
579 case glu::PRECISION_HIGHP: *comp = rnd.getUint32(); break;
725 glu::DataType type = attribute.type.getBasicType();
726 int numComponents = glu::getDataTypeScalarSize(type);
727 glu::Precision precision = attribute.type.getPrecision();
728 glu::DataType scalarType = glu::getDataTypeScalarType(type);
743 if (scalarType == glu::TYPE_FLOAT)
748 case glu::PRECISION_HIGHP: isEqual = de::abs((int)inVal - (int)outVal) < 2; break;
749 case glu::PRECISION_MEDIUMP: isEqual = de::abs((int)inVal - (int)outVal) < 2+(1<<13); break;
750 case glu::PRECISION_LOWP:
838 const glu::DataType dataType = glu::getDataTypeFromGLType(type);
839 const std::string typeName = dataType != glu::TYPE_LAST ? std::string(glu::getDataTypeName(dataType))
874 glu::ShaderProgram* m_program;
875 glu::TransformFeedback* m_transformFeedback;
901 string varName = glu::parseVariableName(tfVar->c_str());
927 const bool linkFail = m_program->getShaderInfo(glu::SHADERTYPE_VERTEX).compileOk &&
928 m_program->getShaderInfo(glu::SHADERTYPE_FRAGMENT).compileOk &&
978 m_transformFeedback = new glu::TransformFeedback(m_context.getRenderContext());
1080 glu::Query primitiveQuery (m_context.getRenderContext());
1123 glu::DataType scalarType = glu::getDataTypeScalarType(attrib->type.getBasicType());
1124 int numComponents = glu::getDataTypeScalarSize(attrib->type.getBasicType());
1131 if (scalarType == glu::TYPE_FLOAT) gl.vertexAttribPointer (loc, numComponents, GL_FLOAT, GL_FALSE, m_inputStride, ptr);
1132 else if (scalarType == glu::TYPE_INT) gl.vertexAttribIPointer (loc, numComponents, GL_INT, m_inputStride, ptr);
1133 else if (scalarType == glu::TYPE_UINT) gl.vertexAttribIPointer (loc, numComponents, GL_UNSIGNED_INT, m_inputStride, ptr);
1283 glu::readPixels(m_context.getRenderContext(), viewportX, viewportY, frameWithTf.getAccess());
1298 glu::readPixels(m_context.getRenderContext(), viewportX, viewportY, frameWithoutTf.getAccess());
1337 BasicTypeCase (Context& context, const char* name, const char* desc, deUint32 bufferType, deUint32 primitiveType, glu::DataType type, glu::Precision precision, Interpolation interpolation)
1340 m_progSpec.addVarying("v_varA", glu::VarType(type, precision), interpolation);
1341 m_progSpec.addVarying("v_varB", glu::VarType(type, precision), interpolation);
1351 BasicArrayCase (Context& context, const char* name, const char* desc, deUint32 bufferType, deUint32 primitiveType, glu::DataType type, glu::Precision precision, Interpolation interpolation)
1354 if (glu::isDataTypeMatrix(type) || m_bufferMode == GL_SEPARATE_ATTRIBS)
1359 m_progSpec.addVarying("v_varA", glu::VarType(glu::VarType(type, precision), 1), interpolation);
1360 m_progSpec.addVarying("v_varB", glu::VarType(glu::VarType(type, precision), 2), interpolation);
1364 m_progSpec.addVarying("v_varA", glu::VarType(glu::VarType(type, precision), 3), interpolation);
1365 m_progSpec.addVarying("v_varB", glu::VarType(glu::VarType(type, precision), 4), interpolation);
1376 ArrayElementCase (Context& context, const char* name, const char* desc, deUint32 bufferType, deUint32 primitiveType, glu::DataType type, glu::Precision precision, Interpolation interpolation)
1379 m_progSpec.addVarying("v_varA", glu::VarType(glu::VarType(type, precision), 3), interpolation);
1380 m_progSpec.addVarying("v_varB", glu::VarType(glu::VarType(type, precision), 4), interpolation);
1400 static const glu::DataType typeCandidates[] =
1402 glu::TYPE_FLOAT,
1403 glu::TYPE_FLOAT_VEC2,
1404 glu::TYPE_FLOAT_VEC3,
1405 glu::TYPE_FLOAT_VEC4,
1406 glu::TYPE_INT,
1407 glu::TYPE_INT_VEC2,
1408 glu::TYPE_INT_VEC3,
1409 glu::TYPE_INT_VEC4,
1410 glu::TYPE_UINT,
1411 glu::TYPE_UINT_VEC2,
1412 glu::TYPE_UINT_VEC3,
1413 glu::TYPE_UINT_VEC4,
1415 glu::TYPE_FLOAT_MAT2,
1416 glu::TYPE_FLOAT_MAT2X3,
1417 glu::TYPE_FLOAT_MAT2X4,
1419 glu::TYPE_FLOAT_MAT3X2,
1420 glu::TYPE_FLOAT_MAT3,
1421 glu::TYPE_FLOAT_MAT3X4,
1423 glu::TYPE_FLOAT_MAT4X2,
1424 glu::TYPE_FLOAT_MAT4X3,
1425 glu::TYPE_FLOAT_MAT4
1428 static const glu::Precision precisions[] =
1430 glu::PRECISION_LOWP,
1431 glu::PRECISION_MEDIUMP,
1432 glu::PRECISION_HIGHP
1463 const glu
1464 const glu::DataType* end = begin + (maxVecs >= 4 ? 21 :
1468 glu::DataType type = rnd.choose<glu::DataType>(begin, end);
1469 glu::Precision precision = rnd.choose<glu::Precision>(&precisions[0], &precisions[0]+DE_LENGTH_OF_ARRAY(precisions));
1470 Interpolation interp = glu::getDataTypeScalarType(type) == glu::TYPE_FLOAT
1473 int numVecs = glu::isDataTypeMatrix(type) ? glu::getDataTypeMatrixNumColumns(type) : 1;
1474 int numComps = glu::getDataTypeScalarSize(type);
1481 m_progSpec.addVarying(name.c_str(), glu::VarType(glu::VarType(type, precision), arrayLen), interp);
1483 m_progSpec.addVarying(name.c_str(), glu::VarType(type, precision), interp);
1573 static const glu::DataType basicTypes[] =
1575 glu::TYPE_FLOAT,
1576 glu::TYPE_FLOAT_VEC2,
1577 glu::TYPE_FLOAT_VEC3,
1578 glu::TYPE_FLOAT_VEC4,
1579 glu::TYPE_FLOAT_MAT2,
1580 glu::TYPE_FLOAT_MAT2X3,
1581 glu::TYPE_FLOAT_MAT2X4,
1582 glu::TYPE_FLOAT_MAT3X2,
1583 glu::TYPE_FLOAT_MAT3,
1584 glu::TYPE_FLOAT_MAT3X4,
1585 glu::TYPE_FLOAT_MAT4X2,
1586 glu::TYPE_FLOAT_MAT4X3,
1587 glu::TYPE_FLOAT_MAT4,
1588 glu::TYPE_INT,
1589 glu::TYPE_INT_VEC2,
1590 glu::TYPE_INT_VEC3,
1591 glu::TYPE_INT_VEC4,
1592 glu::TYPE_UINT,
1593 glu::TYPE_UINT_VEC2,
1594 glu::TYPE_UINT_VEC3,
1595 glu::TYPE_UINT_VEC4
1598 static const glu::Precision precisions[] =
1600 glu::PRECISION_LOWP,
1601 glu::PRECISION_MEDIUMP,
1602 glu::PRECISION_HIGHP
1665 glu::DataType type = basicTypes[typeNdx];
1666 bool isFloat = glu::getDataTypeScalarType(type) == glu::TYPE_FLOAT;
1670 glu::Precision precision = precisions[precNdx];
1672 string name = string(glu::getPrecisionName(precision)) + "_" + glu::getDataTypeName(type);
1699 glu::DataType type = basicTypes[typeNdx];
1700 bool isFloat = glu::getDataTypeScalarType(type) == glu::TYPE_FLOAT;
1704 glu::Precision precision = precisions[precNdx];
1706 string name = string(glu::getPrecisionName(precision)) + "_" + glu::getDataTypeName(type);
1733 glu::DataType type = basicTypes[typeNdx];
1734 bool isFloat = glu::getDataTypeScalarType(type) == glu::TYPE_FLOAT;
1738 glu::Precision precision = precisions[precNdx];
1740 string name = string(glu::getPrecisionName(precision)) + "_" + glu::getDataTypeName(type);
1762 glu::Precision precision = precisions[precNdx];
1768 string name = string(glu::getPrecisionName(precision)) + "_vec4_" + primitiveTypes[primitiveType].name + "_" + bufferModes[bufferMode].name;
1769 modeGroup->addChild(new BasicTypeCase(m_context, name.c_str(), "", bufferModes[bufferMode].mode, primitiveTypes[primitiveType].type, glu::TYPE_FLOAT_VEC4, precision, interp));