Lines Matching defs:ValueBlock
88 ShaderCase::ValueBlock::ValueBlock (void)
191 ShaderCase::ShaderCaseSpecification ShaderCase::ShaderCaseSpecification::generateSharedSourceVertexCase (ExpectResult expectResult_, glu::GLSLVersion targetVersion_, const std::vector<ValueBlock>& values, const std::string& sharedSource)
202 ShaderCase::ShaderCaseSpecification ShaderCase::ShaderCaseSpecification::generateSharedSourceFragmentCase (ExpectResult expectResult_, glu::GLSLVersion targetVersion_, const std::vector<ValueBlock>& values, const std::string& sharedSource)
415 m_valueBlocks.push_back(ValueBlock());
418 const ValueBlock& valueBlock = m_valueBlocks[0];
433 specializeVertexShaders (m_programs[programNdx].programSources, m_programs[programNdx].spec.vertexSources, valueBlock, m_programs[programNdx].spec.requirements);
434 specializeFragmentShaders (m_programs[programNdx].programSources, m_programs[programNdx].spec.fragmentSources, valueBlock, m_programs[programNdx].spec.requirements);
435 specializeGeometryShaders (m_programs[programNdx].programSources, m_programs[programNdx].spec.geometrySources, valueBlock, m_programs[programNdx].spec.requirements);
436 specializeTessControlShaders(m_programs[programNdx].programSources, m_programs[programNdx].spec.tessCtrlSources, valueBlock, m_programs[programNdx].spec.requirements);
437 specializeTessEvalShaders (m_programs[programNdx].programSources, m_programs[programNdx].spec.tessEvalSources, valueBlock, m_programs[programNdx].spec.requirements);
445 m_programs[0].programSources << glu::VertexSource(specializeVertexShader(m_programs[0].spec.vertexSources[0].c_str(), valueBlock));
446 m_programs[0].programSources << glu::FragmentSource(genFragmentShader(valueBlock));
454 m_programs[0].programSources << glu::VertexSource(genVertexShader(valueBlock));
455 m_programs[0].programSources << glu::FragmentSource(specializeFragmentShader(m_programs[0].spec.fragmentSources[0].c_str(), valueBlock));
807 const ValueBlock& valueBlock = m_valueBlocks[blockNdx];
810 const int numRenderPasses = (valueBlock.arrayLength == 0) ? (1) : (valueBlock.arrayLength);
815 int numValues = (int)valueBlock.values.size();
829 const ShaderCase::Value& val = valueBlock.values[valNdx];
898 const ShaderCase::Value& val = valueBlock.values[valNdx];
964 << ", sub-case " << arrayNdx+1 << " of " << valueBlock.arrayLength << "):"
968 dumpValues(valueBlock, arrayNdx);
1092 string ShaderCase::genVertexShader (const ValueBlock& valueBlock) const
1106 for (int ndx = 0; ndx < (int)valueBlock.values.size(); ndx++)
1108 const ShaderCase::Value& val = valueBlock.values[ndx];
1129 for (int ndx = 0; ndx < (int)valueBlock.values.size(); ndx++)
1131 const ShaderCase::Value& val = valueBlock.values[ndx];
1146 static void genCompareFunctions (ostringstream& stream, const ShaderCase::ValueBlock& valueBlock, bool useFloatTypes)
1152 for (int valueNdx = 0; valueNdx < (int)valueBlock.values.size(); valueNdx++)
1154 const ShaderCase::Value& val = valueBlock.values[valueNdx];
1206 static void genCompareOp (ostringstream& output, const char* dstVec4Var, const ShaderCase::ValueBlock& valueBlock, const char* nonFloatNamePrefix, const char* checkVarName)
1210 for (int ndx = 0; ndx < (int)valueBlock.values.size(); ndx++)
1212 const ShaderCase::Value& val = valueBlock.values[ndx];
1245 string ShaderCase::genFragmentShader (const ValueBlock& valueBlock) const
1265 genCompareFunctions(shader, valueBlock, true);
1269 for (int ndx = 0; ndx < (int)valueBlock.values.size(); ndx++)
1271 const ShaderCase::Value& val = valueBlock.values[ndx];
1292 genCompareOp(shader, customColorOut ? "dEQP_FragColor" : "gl_FragColor", valueBlock, "v_", DE_NULL);
1299 string ShaderCase::specializeVertexShader (const char* src, const ValueBlock& valueBlock) const
1316 for (int ndx = 0; ndx < (int)valueBlock.values.size(); ndx++)
1318 const ShaderCase::Value& val = valueBlock.values[ndx];
1365 string ShaderCase::specializeFragmentShader (const char* src, const ValueBlock& valueBlock) const
1379 genCompareFunctions(decl, valueBlock, false);
1380 genCompareOp(output, fragColor, valueBlock, "", DE_NULL);
1385 for (int ndx = 0; ndx < (int)valueBlock.values.size(); ndx++)
1387 const ShaderCase::Value& val = valueBlock.values[ndx];
1427 static map<string, string> generateVertexSpecialization (glu::GLSLVersion targetVersion, const ShaderCase::ValueBlock& valueBlock)
1437 for (int ndx = 0; ndx < (int)valueBlock.values.size(); ndx++)
1439 const ShaderCase::Value& val = valueBlock.values[ndx];
1468 static map<string, string> generateFragmentSpecialization (glu::GLSLVersion targetVersion, const ShaderCase::ValueBlock& valueBlock)
1477 genCompareFunctions(decl, valueBlock, false);
1478 genCompareOp(output, fragColor, valueBlock, "", DE_NULL);
1483 for (int ndx = 0; ndx < (int)valueBlock.values.size(); ndx++)
1485 const ShaderCase::Value& val = valueBlock.values[ndx];
1507 static map<string, string> generateGeometrySpecialization (glu::GLSLVersion targetVersion, const ShaderCase::ValueBlock& valueBlock)
1518 for (int ndx = 0; ndx < (int)valueBlock.values.size(); ndx++)
1520 const ShaderCase::Value& val = valueBlock.values[ndx];
1535 static map<string, string> generateTessControlSpecialization (glu::GLSLVersion targetVersion, const ShaderCase::ValueBlock& valueBlock)
1546 for (int ndx = 0; ndx < (int)valueBlock.values.size(); ndx++)
1548 const ShaderCase::Value& val = valueBlock.values[ndx];
1572 static map<string, string> generateTessEvalSpecialization (glu::GLSLVersion targetVersion, const ShaderCase::ValueBlock& valueBlock)
1583 for (int ndx = 0; ndx < (int)valueBlock.values.size(); ndx++)
1585 const ShaderCase::Value& val = valueBlock.values[ndx];
1603 static void specializeShaders (glu::ProgramSources& dst, glu::ShaderType shaderType, const std::vector<std::string>& sources, const ShaderCase::ValueBlock& valueBlock, glu::GLSLVersion targetVersion, const std::vector<ShaderCase::CaseRequirement>& requirements, std::map<std::string, std::string> (*specializationGenerator)(glu::GLSLVersion, const ShaderCase::ValueBlock&))
1607 const std::map<std::string, std::string> specializationParams = specializationGenerator(targetVersion, valueBlock);
1620 void ShaderCase::specializeVertexShaders (glu::ProgramSources& dst, const std::vector<std::string>& sources, const ValueBlock& valueBlock, const std::vector<ShaderCase::CaseRequirement>& requirements) const
1622 specializeShaders(dst, glu::SHADERTYPE_VERTEX, sources, valueBlock, m_targetVersion, requirements, generateVertexSpecialization);
1625 void ShaderCase::specializeFragmentShaders (glu::ProgramSources& dst, const std::vector<std::string>& sources, const ValueBlock& valueBlock, const std::vector<ShaderCase::CaseRequirement>& requirements) const
1627 specializeShaders(dst, glu::SHADERTYPE_FRAGMENT, sources, valueBlock, m_targetVersion, requirements, generateFragmentSpecialization);
1630 void ShaderCase::specializeGeometryShaders (glu::ProgramSources& dst, const std::vector<std::string>& sources, const ValueBlock& valueBlock, const std::vector<ShaderCase::CaseRequirement>& requirements) const
1632 specializeShaders(dst, glu::SHADERTYPE_GEOMETRY, sources, valueBlock, m_targetVersion, requirements, generateGeometrySpecialization);
1635 void ShaderCase::specializeTessControlShaders (glu::ProgramSources& dst, const std::vector<std::string>& sources, const ValueBlock& valueBlock, const std::vector<ShaderCase::CaseRequirement>& requirements) const
1637 specializeShaders(dst, glu::SHADERTYPE_TESSELLATION_CONTROL, sources, valueBlock, m_targetVersion, requirements, generateTessControlSpecialization);
1640 void ShaderCase::specializeTessEvalShaders (glu::ProgramSources& dst, const std::vector<std::string>& sources, const ValueBlock& valueBlock, const std::vector<ShaderCase::CaseRequirement>& requirements) const
1642 specializeShaders(dst, glu::SHADERTYPE_TESSELLATION_EVALUATION, sources, valueBlock, m_targetVersion, requirements, generateTessEvalSpecialization);
1645 void ShaderCase::dumpValues (const ValueBlock& valueBlock, int arrayNdx)
1647 int numValues = (int)valueBlock.values.size();
1650 const ShaderCase::Value& val = valueBlock.values[valNdx];