• Home
  • Raw
  • Download

Lines Matching refs:glu

56 static int getTypeSize (glu::DataType type)  in getTypeSize()
58 if (type == glu::TYPE_FLOAT) in getTypeSize()
60 else if (type == glu::TYPE_INT || type == glu::TYPE_UINT) in getTypeSize()
62 else if (type == glu::TYPE_BOOL) in getTypeSize()
69 static int getVarTypeSize (const glu::VarType& type) in getVarTypeSize()
72 …return glu::getDataTypeScalarSize(type.getBasicType()) * getTypeSize(glu::getDataTypeScalarType(ty… in getVarTypeSize()
82 if (type.getArraySize() == glu::VarType::UNSIZED_ARRAY) in getVarTypeSize()
164 static glu::ShaderType getShaderMaskFirstStage (deUint32 mask) in getShaderMaskFirstStage()
166 if (mask & (1u << glu::SHADERTYPE_COMPUTE)) in getShaderMaskFirstStage()
167 return glu::SHADERTYPE_COMPUTE; in getShaderMaskFirstStage()
169 if (mask & (1u << glu::SHADERTYPE_VERTEX)) in getShaderMaskFirstStage()
170 return glu::SHADERTYPE_VERTEX; in getShaderMaskFirstStage()
172 if (mask & (1u << glu::SHADERTYPE_TESSELLATION_CONTROL)) in getShaderMaskFirstStage()
173 return glu::SHADERTYPE_TESSELLATION_CONTROL; in getShaderMaskFirstStage()
175 if (mask & (1u << glu::SHADERTYPE_TESSELLATION_EVALUATION)) in getShaderMaskFirstStage()
176 return glu::SHADERTYPE_TESSELLATION_EVALUATION; in getShaderMaskFirstStage()
178 if (mask & (1u << glu::SHADERTYPE_GEOMETRY)) in getShaderMaskFirstStage()
179 return glu::SHADERTYPE_GEOMETRY; in getShaderMaskFirstStage()
181 if (mask & (1u << glu::SHADERTYPE_FRAGMENT)) in getShaderMaskFirstStage()
182 return glu::SHADERTYPE_FRAGMENT; in getShaderMaskFirstStage()
185 return glu::SHADERTYPE_LAST; in getShaderMaskFirstStage()
188 static glu::ShaderType getShaderMaskLastStage (deUint32 mask) in getShaderMaskLastStage()
190 if (mask & (1u << glu::SHADERTYPE_FRAGMENT)) in getShaderMaskLastStage()
191 return glu::SHADERTYPE_FRAGMENT; in getShaderMaskLastStage()
193 if (mask & (1u << glu::SHADERTYPE_GEOMETRY)) in getShaderMaskLastStage()
194 return glu::SHADERTYPE_GEOMETRY; in getShaderMaskLastStage()
196 if (mask & (1u << glu::SHADERTYPE_TESSELLATION_EVALUATION)) in getShaderMaskLastStage()
197 return glu::SHADERTYPE_TESSELLATION_EVALUATION; in getShaderMaskLastStage()
199 if (mask & (1u << glu::SHADERTYPE_TESSELLATION_CONTROL)) in getShaderMaskLastStage()
200 return glu::SHADERTYPE_TESSELLATION_CONTROL; in getShaderMaskLastStage()
202 if (mask & (1u << glu::SHADERTYPE_VERTEX)) in getShaderMaskLastStage()
203 return glu::SHADERTYPE_VERTEX; in getShaderMaskLastStage()
205 if (mask & (1u << glu::SHADERTYPE_COMPUTE)) in getShaderMaskLastStage()
206 return glu::SHADERTYPE_COMPUTE; in getShaderMaskLastStage()
209 return glu::SHADERTYPE_LAST; in getShaderMaskLastStage()
214 …const glu::GLSLVersion glslVersion = glu::getContextTypeGLSLVersion(context.getRenderContext(… in specializeShader()
217 specializationMap["GLSL_VERSION_DECL"] = glu::getGLSLVersionDeclaration(glslVersion); in specializeShader()
274 Shader (const SharedPtr& enclosingNode, glu::ShaderType type, glu::GLSLVersion version) in Shader()
280 DE_ASSERT(type < glu::SHADERTYPE_LAST); in Shader()
283 const glu::ShaderType m_type;
284 const glu::GLSLVersion m_version;
302 StorageQualifier (const SharedPtr& enclosing, glu::Storage storage) in StorageQualifier()
310 const glu::Storage m_storage;
316 Variable (const SharedPtr& enclosing, glu::DataType dataType) in Variable()
329 const glu::DataType m_dataType;
398 LayoutQualifier (const SharedPtr& enclosing, const glu::Layout& layout) in LayoutQualifier()
409 const glu::Layout m_layout;
415 InterpolationQualifier (const SharedPtr& enclosing, const glu::Interpolation& interpolation) in InterpolationQualifier()
426 const glu::Interpolation m_interpolation;
432 ShaderSet (const SharedPtr& enclosing, glu::GLSLVersion version);
433 …ShaderSet (const SharedPtr& enclosing, glu::GLSLVersion version, deUint32 stagesPresentBits, deU…
435 void setStage (glu::ShaderType type, bool referencing);
436 bool isStagePresent (glu::ShaderType stage) const;
437 bool isStageReferencing (glu::ShaderType stage) const;
441 const glu::GLSLVersion m_version;
443 bool m_stagePresent[glu::SHADERTYPE_LAST];
444 bool m_stageReferencing[glu::SHADERTYPE_LAST];
447 ShaderSet::ShaderSet (const SharedPtr& enclosing, glu::GLSLVersion version) in ShaderSet()
458 glu::GLSLVersion version, in ShaderSet()
464 for (deUint32 stageNdx = 0; stageNdx < glu::SHADERTYPE_LAST; ++stageNdx) in ShaderSet()
477 void ShaderSet::setStage (glu::ShaderType type, bool referencing) in setStage()
479 DE_ASSERT(type < glu::SHADERTYPE_LAST); in setStage()
484 bool ShaderSet::isStagePresent (glu::ShaderType stage) const in isStagePresent()
486 DE_ASSERT(stage < glu::SHADERTYPE_LAST); in isStagePresent()
490 bool ShaderSet::isStageReferencing (glu::ShaderType stage) const in isStageReferencing()
492 DE_ASSERT(stage < glu::SHADERTYPE_LAST); in isStageReferencing()
499 for (deUint32 stage = 0; stage < glu::SHADERTYPE_LAST; ++stage) in getReferencingMask()
521 static glu::Precision getDataTypeDefaultPrecision (const glu::DataType& type) in getDataTypeDefaultPrecision()
523 if (glu::isDataTypeBoolOrBVec(type)) in getDataTypeDefaultPrecision()
524 return glu::PRECISION_LAST; in getDataTypeDefaultPrecision()
525 else if (glu::isDataTypeScalarOrVector(type) || glu::isDataTypeMatrix(type)) in getDataTypeDefaultPrecision()
526 return glu::PRECISION_HIGHP; in getDataTypeDefaultPrecision()
527 else if (glu::isDataTypeSampler(type)) in getDataTypeDefaultPrecision()
528 return glu::PRECISION_HIGHP; in getDataTypeDefaultPrecision()
529 else if (glu::isDataTypeImage(type)) in getDataTypeDefaultPrecision()
530 return glu::PRECISION_HIGHP; in getDataTypeDefaultPrecision()
531 else if (type == glu::TYPE_UINT_ATOMIC_COUNTER) in getDataTypeDefaultPrecision()
532 return glu::PRECISION_HIGHP; in getDataTypeDefaultPrecision()
535 return glu::PRECISION_LAST; in getDataTypeDefaultPrecision()
556 …const glu::DataType basicType = static_cast<const ResourceDefinition::Variable*>(resource… in generateProgramDefinitionFromResource()
558glu::VariableDeclaration variable (glu::VarType(basicType, getDataTypeDefaultPrecision(basi… in generateProgramDefinitionFromResource()
559 glu::InterfaceBlock interfaceBlock; in generateProgramDefinitionFromResource()
565 if (glu::isDataTypeImage(basicType)) in generateProgramDefinitionFromResource()
567 variable.memoryAccessQualifierBits |= glu::MEMORYACCESSQUALIFIER_READONLY_BIT; in generateProgramDefinitionFromResource()
570 if (basicType >= glu::TYPE_IMAGE_2D && basicType <= glu::TYPE_IMAGE_3D) in generateProgramDefinitionFromResource()
571 variable.layout.format = glu::FORMATLAYOUT_RGBA8; in generateProgramDefinitionFromResource()
572 else if (basicType >= glu::TYPE_INT_IMAGE_2D && basicType <= glu::TYPE_INT_IMAGE_3D) in generateProgramDefinitionFromResource()
573 variable.layout.format = glu::FORMATLAYOUT_RGBA8I; in generateProgramDefinitionFromResource()
574 else if (basicType >= glu::TYPE_UINT_IMAGE_2D && basicType <= glu::TYPE_UINT_IMAGE_3D) in generateProgramDefinitionFromResource()
575 variable.layout.format = glu::FORMATLAYOUT_RGBA8UI; in generateProgramDefinitionFromResource()
581 if (basicType == glu::TYPE_UINT_ATOMIC_COUNTER) in generateProgramDefinitionFromResource()
594 DE_ASSERT(variable.storage == glu::STORAGE_LAST); in generateProgramDefinitionFromResource()
599 DE_ASSERT(interfaceBlock.storage == glu::STORAGE_LAST); in generateProgramDefinitionFromResource()
608 glu::Layout* targetLayout = DE_NULL; in generateProgramDefinitionFromResource()
628 if (qualifier->m_layout.format != glu::FORMATLAYOUT_LAST) in generateProgramDefinitionFromResource()
631 if (qualifier->m_layout.matrixOrder != glu::MATRIXORDER_LAST) in generateProgramDefinitionFromResource()
661 arraySize = glu::VarType::UNSIZED_ARRAY; in generateProgramDefinitionFromResource()
666 variable.varType = glu::VarType(variable.varType, arraySize); in generateProgramDefinitionFromResource()
681 DE_ASSERT(variable.interpolation == glu::INTERPOLATION_LAST); in generateProgramDefinitionFromResource()
682 DE_ASSERT(variable.layout == glu::Layout()); in generateProgramDefinitionFromResource()
684 DE_ASSERT(variable.storage == glu::STORAGE_LAST); in generateProgramDefinitionFromResource()
687glu::StructType* structPtr = new glu::StructType(("StructType" + de::toString(structNdx++)).c_str(… in generateProgramDefinitionFromResource()
690 variable = glu::VariableDeclaration(glu::VarType(structPtr), "target"); in generateProgramDefinitionFromResource()
741 for (int shaderType = 0; shaderType < glu::SHADERTYPE_LAST; ++shaderType) in generateProgramDefinitionFromResource()
743 if (shaderDef->isStagePresent((glu::ShaderType)shaderType)) in generateProgramDefinitionFromResource()
745 …ProgramInterfaceDefinition::Shader* shader = program->addShader((glu::ShaderType)shaderType, shade… in generateProgramDefinitionFromResource()
747 if (shaderDef->isStageReferencing((glu::ShaderType)shaderType)) in generateProgramDefinitionFromResource()
819 for (int shaderType = 0; shaderType < glu::SHADERTYPE_LAST; ++shaderType) in generateProgramDefinitionFromResource()
820 if (shaderDef->isStagePresent((glu::ShaderType)shaderType)) in generateProgramDefinitionFromResource()
821 program->addShader((glu::ShaderType)shaderType, shaderDef->m_version); in generateProgramDefinitionFromResource()
858 if (program->hasStage(glu::SHADERTYPE_GEOMETRY)) in generateProgramDefinitionFromResource()
860 …if (program->hasStage(glu::SHADERTYPE_TESSELLATION_CONTROL) || program->hasStage(glu::SHADERTYPE_T… in generateProgramDefinitionFromResource()
866 static void checkAndLogProgram (const glu::ShaderProgram& program, const ProgramInterfaceDefinition… in checkAndLogProgram()
925 …const bool supportsES32 = glu::contextSupports(m_context.getRenderContext().getType(), glu::ApiTyp… in init()
927 …if ((m_programDefinition->hasStage(glu::SHADERTYPE_TESSELLATION_CONTROL) || m_programDefinition->h… in init()
932 if (m_programDefinition->hasStage(glu::SHADERTYPE_GEOMETRY) && in init()
954 …const glu::ShaderProgram program(m_context.getRenderContext(), generateProgramInterfaceProgramSour… in iterate()
994 …m_testCtx.getLog() << tcu::TestLog::Message << "Querying " << glu::getProgramInterfaceName(program… in queryResourceList()
1204 if (storageDef->m_storage == glu::STORAGE_PATCH_IN || in genTestCaseName()
1205 storageDef->m_storage == glu::STORAGE_PATCH_OUT) in genTestCaseName()
1265 const glu::ShaderType firstStage = getShaderMaskFirstStage(stageBits); in isArrayedInterface()
1266 return firstStage == glu::SHADERTYPE_TESSELLATION_CONTROL || in isArrayedInterface()
1267 firstStage == glu::SHADERTYPE_TESSELLATION_EVALUATION || in isArrayedInterface()
1268 firstStage == glu::SHADERTYPE_GEOMETRY; in isArrayedInterface()
1272 const glu::ShaderType lastStage = getShaderMaskLastStage(stageBits); in isArrayedInterface()
1273 return lastStage == glu::SHADERTYPE_TESSELLATION_CONTROL; in isArrayedInterface()
1355 return convertGLTypeNameToTestName(glu::getDataTypeName(variable->m_dataType)); in genTestCaseName()
1381 uniformType = std::string(" ") + glu::getStorageName(storageDef->m_storage); in genMultilineDescription()
1382 … structureDescriptor << "\n\tdeclared as \"" << glu::getStorageName(storageDef->m_storage) << "\""; in genMultilineDescription()
1398 …buf << "Querying properties of " << glu::getDataTypeName(varDef->m_dataType) << uniformType << " v… in genMultilineDescription()
1400 << "\t" << glu::getDataTypeName(varDef->m_dataType) in genMultilineDescription()
1451 …const glu::ShaderProgram program (m_context.getRenderContext(), glu::ProgramSources() << glu::Co… in iterate()
1577 …const glu::ShaderProgram program (m_context.getRenderContext(), glu::ProgramSources() << glu::Co… in iterate()
1663 …ockBaseCase (Context& context, const char* name, const char* description, glu::Storage storage, C…
1671 const glu::Storage m_storage;
1676 …lockBaseCase (Context& context, const char* name, const char* description, glu::Storage storage, C… in InterfaceBlockBaseCase()
1682 DE_ASSERT(storage == glu::STORAGE_UNIFORM || storage == glu::STORAGE_BUFFER); in InterfaceBlockBaseCase()
1692 …const glu::GLSLVersion glslVersion = glu::getContextTypeGLSLVersion(m_context.getRenderContext(… in init()
1696 shader = m_program->addShader(glu::SHADERTYPE_COMPUTE, glslVersion); in init()
1700 glu::InterfaceBlock precedingInterfaceBlock; in init()
1707 …precedingInterfaceBlock.variables.push_back(glu::VariableDeclaration(glu::VarType(glu::TYPE_FLOAT_… in init()
1710 if (m_storage == glu::STORAGE_BUFFER) in init()
1711 …aceBlock.variables.push_back(glu::VariableDeclaration(glu::VarType(glu::VarType(glu::TYPE_FLOAT, g… in init()
1713 …cedingInterfaceBlock.variables.push_back(glu::VariableDeclaration(glu::VarType(glu::VarType(glu::T… in init()
1720 glu::InterfaceBlock targetInterfaceBlock; in init()
1736 …targetInterfaceBlock.variables.push_back(glu::VariableDeclaration(glu::VarType(glu::TYPE_FLOAT_VEC… in init()
1741 …targetInterfaceBlock.variables.push_back(glu::VariableDeclaration(glu::VarType(glu::VarType(glu::T… in init()
1746 glu::StructType* structPtr = new glu::StructType("StructType"); in init()
1747 …structPtr->addMember("structMemberBasic", glu::VarType(glu::TYPE_FLOAT_VEC4, glu::PRECISION_HIGHP)… in init()
1748 …structPtr->addMember("structMemberArray", glu::VarType(glu::VarType(glu::TYPE_FLOAT, glu::PRECISIO… in init()
1750 …targetInterfaceBlock.variables.push_back(glu::VariableDeclaration(glu::VarType(glu::VarType(struct… in init()
1754 if (m_storage == glu::STORAGE_BUFFER) in init()
1755 …aceBlock.variables.push_back(glu::VariableDeclaration(glu::VarType(glu::VarType(glu::TYPE_FLOAT, g… in init()
1762 glu::InterfaceBlock trailingInterfaceBlock; in init()
1768 …trailingInterfaceBlock.variables.push_back(glu::VariableDeclaration(glu::VarType(glu::TYPE_FLOAT_V… in init()
1785 …blesTestCase (Context& context, const char* name, const char* description, glu::Storage storage, C…
1791 …blesTestCase (Context& context, const char* name, const char* description, glu::Storage storage, C… in InterfaceBlockActiveVariablesTestCase()
1798 …const ProgramInterface programInterface = (m_storage == glu::STORAGE_UNIFORM) ? (PROGRAMINTER… in iterate()
1799 (m_storage == glu::STORAGE_BUFFER) ? (PROGRAMINTERFACE_SHADER_STORAGE_BLOCK) : in iterate()
1802 …const glw::GLenum programMemberInterfaceValue = (m_storage == glu::STORAGE_UNIFORM) ? (GL_UNIF… in iterate()
1803 (m_storage == glu::STORAGE_BUFFER) ? (GL_BUFFER_VARIABLE) : in iterate()
1806glu::ShaderProgram program (m_context.getRenderContext(), generateProgramInterfaceProgram… in iterate()
1965 glu::InterfaceBlock* block = DE_NULL; in iterate()
1966 const std::string blockName = glu::parseVariableName(blockNames[blockNdx].c_str()); in iterate()
2053 …SizeTestCase (Context& context, const char* name, const char* description, glu::Storage storage, C…
2058 int getBlockMinDataSize (const glu::InterfaceBlock& block) const;
2061 …SizeTestCase (Context& context, const char* name, const char* description, glu::Storage storage, C… in InterfaceBlockDataSizeTestCase()
2068 …const ProgramInterface programInterface = (m_storage == glu::STORAGE_UNIFORM) ? (PROGRAMINTERFA… in iterate()
2069 (m_storage == glu::STORAGE_BUFFER) ? (PROGRAMINTERFACE_SHADER_STORAGE_BLOCK) : in iterate()
2073glu::ShaderProgram program (m_context.getRenderContext(), generateProgramInterfaceProgramSo… in iterate()
2127 const std::string blockName = glu::parseVariableName(blockFullName.c_str()); in getBlockMinDataSize()
2173glu::GLSLVersion glslVersion = glu::getContextTypeGLSLVersion(m_context.getRenderContext().getType… in init()
2176 shader = m_program->addShader(glu::SHADERTYPE_COMPUTE, glslVersion); in init()
2179glu::VariableDeclaration decl(glu::VarType(glu::TYPE_UINT_ATOMIC_COUNTER, glu::PRECISION_LAST), "b… in init()
2184glu::VariableDeclaration decl(glu::VarType(glu::TYPE_UINT_ATOMIC_COUNTER, glu::PRECISION_LAST), "b… in init()
2191glu::VariableDeclaration decl(glu::VarType(glu::TYPE_UINT_ATOMIC_COUNTER, glu::PRECISION_LAST), "b… in init()
2212glu::isDataTypeAtomicCounter(m_program->getShaders()[0]->getDefaultBlock().variables[ndx].varType.… in getNumAtomicCounterBuffers()
2229glu::isDataTypeAtomicCounter(m_program->getShaders()[0]->getDefaultBlock().variables[ndx].varType.… in getMaxNumActiveVariables()
2253glu::isDataTypeAtomicCounter(m_program->getShaders()[0]->getDefaultBlock().variables[ndx].varType.… in getBufferVariableCount()
2269glu::isDataTypeAtomicCounter(m_program->getShaders()[0]->getDefaultBlock().variables[ndx].varType.… in getBufferMinimumDataSize()
2298 …const glu::ShaderProgram program(m_context.getRenderContext(), generateProgramInterfaceProgramSour… in iterate()
2345 …const glu::ShaderProgram program (m_context.getRenderContext(), generateProgramInterfaceProg… in iterate()
2565 …const glu::ShaderProgram program (m_context.getRenderContext(), generateProgramInterfaceProg… in iterate()
2618 …const glu::ShaderProgram program (m_context.getRenderContext(), generateProgramInterfaceProg… in iterate()
2714 const deUint32 geometryMask = (1 << glu::SHADERTYPE_GEOMETRY); in init()
2715 …const deUint32 tessellationMask = (1 << glu::SHADERTYPE_TESSELLATION_CONTROL) | (1 << glu::SHAD… in init()
2716glu::VariableDeclaration atomicVar (glu::VarType(glu::TYPE_UINT_ATOMIC_COUNTER, glu::PRECISION_L… in init()
2717 …const glu::GLSLVersion glslVersion = glu::getContextTypeGLSLVersion(m_context.getRenderContext(… in init()
2718 …const bool supportsES32 = glu::contextSupports(m_context.getRenderContext().getType(), glu::A… in init()
2730 for (int shaderType = 0; shaderType < glu::SHADERTYPE_LAST; ++shaderType) in init()
2733 …m_program->addShader((glu::ShaderType)shaderType, glslVersion)->getDefaultBlock().variables.push_b… in init()
2735 m_program->addShader((glu::ShaderType)shaderType, glslVersion); in init()
2738 if (m_program->hasStage(glu::SHADERTYPE_GEOMETRY)) in init()
2740 …if (m_program->hasStage(glu::SHADERTYPE_TESSELLATION_CONTROL) || m_program->hasStage(glu::SHADERTY… in init()
2754 …const bool supportsES32 = glu::contextSupports(m_context.getRenderContext().getType(), glu::ApiTyp… in iterate()
2759 glu::ShaderType shaderType; in iterate()
2763 { GL_REFERENCED_BY_VERTEX_SHADER, glu::SHADERTYPE_VERTEX, DE_NULL }, in iterate()
2764 { GL_REFERENCED_BY_FRAGMENT_SHADER, glu::SHADERTYPE_FRAGMENT, DE_NULL }, in iterate()
2765 { GL_REFERENCED_BY_COMPUTE_SHADER, glu::SHADERTYPE_COMPUTE, DE_NULL }, in iterate()
2766 …{ GL_REFERENCED_BY_TESS_CONTROL_SHADER, glu::SHADERTYPE_TESSELLATION_CONTROL, (supportsES32 ? DE… in iterate()
2767 …{ GL_REFERENCED_BY_TESS_EVALUATION_SHADER, glu::SHADERTYPE_TESSELLATION_EVALUATION, (supportsES32 … in iterate()
2768 …{ GL_REFERENCED_BY_GEOMETRY_SHADER, glu::SHADERTYPE_GEOMETRY, (supportsES32 ? DE_NULL : "GL_… in iterate()
2772 …const glu::ShaderProgram program (m_context.getRenderContext(), generateProgramInterfaceProgramSo… in iterate()
2787 …< tcu::TestLog::Message << "Verifying " << glu::getProgramResourcePropertyName(prop) << ", expecti… in iterate()
2799 …m_testCtx.getLog() << tcu::TestLog::Message << glu::getProgramResourcePropertyName(prop) << " = " … in iterate()
2831 …rencedByCase (Context& context, const char* name, const char* description, glu::Storage targetStor…
2840 const glu::Storage m_targetStorage;
2844 …rencedByCase (Context& context, const char* name, const char* description, glu::Storage targetStor… in ProgramInputOutputReferencedByCase()
2867 …const bool supportsES32 = glu::contextSupports(m_context.getRenderContext().getType(), glu::ApiT… in init()
2874glu::GLSLVersion glslVersion = glu::getContextTypeGLSLVersion(m_context.getRenderContext().getType… in init()
2883 …const bool isInputCase = (m_targetStorage == glu::STORAGE_IN || m_targetStorage == glu::STO… in init()
2884 …nst bool perPatchStorage = (m_targetStorage == glu::STORAGE_PATCH_IN || m_targetStorage == g… in init()
2886 …const glu::VariableDeclaration targetDecl (glu::VarType(glu::TYPE_FLOAT_VEC4, glu::PRECISION_HIG… in init()
2887 …const glu::ShaderType shaderType = (m_caseType == CASE_SEPARABLE_VERTEX) ? (glu::SHADERTYPE_V… in init()
2888 : (m_caseType == CASE_SEPARABLE_FRAGMENT) ? (glu::SHADERTYPE_FRAGMENT) in init()
2889 : (m_caseType == CASE_SEPARABLE_GEOMETRY) ? (glu::SHADERTYPE_GEOMETRY) in init()
2890 : (m_caseType == CASE_SEPARABLE_TESS_CTRL) ? (glu::SHADERTYPE_TESSELLATION_CONTROL) in init()
2891 … : (m_caseType == CASE_SEPARABLE_TESS_EVAL) ? (glu::SHADERTYPE_TESSELLATION_EVALUATION) in init()
2892 : (glu::SHADERTYPE_LAST); in init()
2893 …const bool arrayedInterface = (isInputCase) ? ((shaderType == glu::SHADERTYPE_GEOMETRY) || in init()
2894 (shaderType == glu::SHADERTYPE_TESSELLATION_CONTROL) || in init()
2895 (shaderType == glu::SHADERTYPE_TESSELLATION_EVALUATION)) in init()
2896 : (shaderType == glu::SHADERTYPE_TESSELLATION_CONTROL); in init()
2902 …const glu::VariableDeclaration targetDeclArr(glu::VarType(targetDecl.varType, glu::VarType::UNSIZE… in init()
2915 …ProgramInterfaceDefinition::Shader* vertex = m_program->addShader(glu::SHADERTYPE_VERTEX, glslVer… in init()
2916 …ProgramInterfaceDefinition::Shader* fragment = m_program->addShader(glu::SHADERTYPE_FRAGMENT, glsl… in init()
2920 …ertex->getDefaultBlock().variables.push_back(glu::VariableDeclaration(glu::VarType(glu::TYPE_FLOAT… in init()
2922 glu::STORAGE_IN)); in init()
2923 …ertex->getDefaultBlock().variables.push_back(glu::VariableDeclaration(glu::VarType(glu::TYPE_FLOAT… in init()
2925 glu::STORAGE_OUT, in init()
2926 glu::INTERPOLATION_LAST, in init()
2927 glu::Layout(1))); in init()
2929 …gment->getDefaultBlock().variables.push_back(glu::VariableDeclaration(glu::VarType(glu::TYPE_FLOAT… in init()
2931 glu::STORAGE_OUT, in init()
2932 glu::INTERPOLATION_LAST, in init()
2933 glu::Layout(0))); in init()
2934 …gment->getDefaultBlock().variables.push_back(glu::VariableDeclaration(glu::VarType(glu::TYPE_FLOAT… in init()
2936 glu::STORAGE_IN, in init()
2937 glu::INTERPOLATION_LAST, in init()
2938 glu::Layout(1))); in init()
2942 …ProgramInterfaceDefinition::Shader* tessCtrl = m_program->addShader(glu::SHADERTYPE_TESSELLATION_C… in init()
2943 …ProgramInterfaceDefinition::Shader* tessEval = m_program->addShader(glu::SHADERTYPE_TESSELLATION_E… in init()
2945 …lock().variables.push_back(glu::VariableDeclaration(glu::VarType(glu::VarType(glu::TYPE_FLOAT_VEC4… in init()
2947 glu::STORAGE_IN, in init()
2948 glu::INTERPOLATION_LAST, in init()
2949 glu::Layout(1))); in init()
2950 …lock().variables.push_back(glu::VariableDeclaration(glu::VarType(glu::VarType(glu::TYPE_FLOAT_VEC4… in init()
2952 glu::STORAGE_OUT, in init()
2953 glu::INTERPOLATION_LAST, in init()
2954 glu::Layout(1))); in init()
2956 …lock().variables.push_back(glu::VariableDeclaration(glu::VarType(glu::VarType(glu::TYPE_FLOAT_VEC4… in init()
2958 glu::STORAGE_IN, in init()
2959 glu::INTERPOLATION_LAST, in init()
2960 glu::Layout(1))); in init()
2961 …sEval->getDefaultBlock().variables.push_back(glu::VariableDeclaration(glu::VarType(glu::TYPE_FLOAT… in init()
2963 glu::STORAGE_OUT, in init()
2964 glu::INTERPOLATION_LAST, in init()
2965 glu::Layout(1))); in init()
2970 …ProgramInterfaceDefinition::Shader* geometry = m_program->addShader(glu::SHADERTYPE_GEOMETRY, glsl… in init()
2972 …lock().variables.push_back(glu::VariableDeclaration(glu::VarType(glu::VarType(glu::TYPE_FLOAT_VEC4… in init()
2974 glu::STORAGE_IN, in init()
2975 glu::INTERPOLATION_LAST, in init()
2976 glu::Layout(1))); in init()
2977 …metry->getDefaultBlock().variables.push_back(glu::VariableDeclaration(glu::VarType(glu::TYPE_FLOAT… in init()
2979 glu::STORAGE_OUT, in init()
2980 glu::INTERPOLATION_LAST, in init()
2981 glu::Layout(1))); in init()
2987 if (m_program->hasStage(glu::SHADERTYPE_GEOMETRY)) in init()
2989 …if (m_program->hasStage(glu::SHADERTYPE_TESSELLATION_CONTROL) || m_program->hasStage(glu::SHADERTY… in init()
3006 glu::ShaderType shaderType; in iterate()
3010 { GL_REFERENCED_BY_VERTEX_SHADER, glu::SHADERTYPE_VERTEX, DE_NULL }, in iterate()
3011 { GL_REFERENCED_BY_FRAGMENT_SHADER, glu::SHADERTYPE_FRAGMENT, DE_NULL }, in iterate()
3012 { GL_REFERENCED_BY_COMPUTE_SHADER, glu::SHADERTYPE_COMPUTE, DE_NULL }, in iterate()
3013 …{ GL_REFERENCED_BY_TESS_CONTROL_SHADER, glu::SHADERTYPE_TESSELLATION_CONTROL, "GL_EXT_tessellati… in iterate()
3014 …{ GL_REFERENCED_BY_TESS_EVALUATION_SHADER, glu::SHADERTYPE_TESSELLATION_EVALUATION, "GL_EXT_tessel… in iterate()
3015 { GL_REFERENCED_BY_GEOMETRY_SHADER, glu::SHADERTYPE_GEOMETRY, "GL_EXT_geometry_shader" }, in iterate()
3018 …const bool isInputCase = (m_targetStorage == glu::STORAGE_IN || m_targetStorage == glu::S… in iterate()
3020 …const glu::ShaderProgram program (m_context.getRenderContext(), generateProgramInterfaceProg… in iterate()
3050 …m_testCtx.getLog() << tcu::TestLog::Message << "Verifying " << glu::getProgramResourcePropertyName… in iterate()
3062 …m_testCtx.getLog() << tcu::TestLog::Message << glu::getProgramResourcePropertyName(prop) << " = " … in iterate()
3098 …const glu::ShaderProgram program(m_context.getRenderContext(), generateProgramInterfaceProgramSour… in iterate()
3144 int InterfaceBlockDataSizeTestCase::getBlockMinDataSize (const glu::InterfaceBlock& block) const in getBlockMinDataSize()
3154 static bool isDataTypeLayoutQualified (glu::DataType type) in isDataTypeLayoutQualified()
3156 return glu::isDataTypeImage(type) || glu::isDataTypeAtomicCounter(type); in isDataTypeLayoutQualified()
3164 glu::DataType dataType; in generateVariableCases()
3167 { 0, glu::TYPE_FLOAT }, in generateVariableCases()
3168 { 1, glu::TYPE_INT }, in generateVariableCases()
3169 { 1, glu::TYPE_UINT }, in generateVariableCases()
3170 { 1, glu::TYPE_BOOL }, in generateVariableCases()
3172 { 3, glu::TYPE_FLOAT_VEC2 }, in generateVariableCases()
3173 { 1, glu::TYPE_FLOAT_VEC3 }, in generateVariableCases()
3174 { 1, glu::TYPE_FLOAT_VEC4 }, in generateVariableCases()
3176 { 3, glu::TYPE_INT_VEC2 }, in generateVariableCases()
3177 { 2, glu::TYPE_INT_VEC3 }, in generateVariableCases()
3178 { 3, glu::TYPE_INT_VEC4 }, in generateVariableCases()
3180 { 3, glu::TYPE_UINT_VEC2 }, in generateVariableCases()
3181 { 2, glu::TYPE_UINT_VEC3 }, in generateVariableCases()
3182 { 3, glu::TYPE_UINT_VEC4 }, in generateVariableCases()
3184 { 3, glu::TYPE_BOOL_VEC2 }, in generateVariableCases()
3185 { 2, glu::TYPE_BOOL_VEC3 }, in generateVariableCases()
3186 { 3, glu::TYPE_BOOL_VEC4 }, in generateVariableCases()
3188 { 2, glu::TYPE_FLOAT_MAT2 }, in generateVariableCases()
3189 { 3, glu::TYPE_FLOAT_MAT2X3 }, in generateVariableCases()
3190 { 3, glu::TYPE_FLOAT_MAT2X4 }, in generateVariableCases()
3191 { 2, glu::TYPE_FLOAT_MAT3X2 }, in generateVariableCases()
3192 { 2, glu::TYPE_FLOAT_MAT3 }, in generateVariableCases()
3193 { 3, glu::TYPE_FLOAT_MAT3X4 }, in generateVariableCases()
3194 { 2, glu::TYPE_FLOAT_MAT4X2 }, in generateVariableCases()
3195 { 3, glu::TYPE_FLOAT_MAT4X3 }, in generateVariableCases()
3196 { 2, glu::TYPE_FLOAT_MAT4 }, in generateVariableCases()
3224 glu::DataType dataType; in generateOpaqueTypeCases()
3227 { 0, glu::TYPE_SAMPLER_2D }, in generateOpaqueTypeCases()
3228 { 2, glu::TYPE_SAMPLER_CUBE }, in generateOpaqueTypeCases()
3229 { 1, glu::TYPE_SAMPLER_2D_ARRAY }, in generateOpaqueTypeCases()
3230 { 1, glu::TYPE_SAMPLER_3D }, in generateOpaqueTypeCases()
3231 { 2, glu::TYPE_SAMPLER_2D_SHADOW }, in generateOpaqueTypeCases()
3232 { 3, glu::TYPE_SAMPLER_CUBE_SHADOW }, in generateOpaqueTypeCases()
3233 { 3, glu::TYPE_SAMPLER_2D_ARRAY_SHADOW }, in generateOpaqueTypeCases()
3234 { 1, glu::TYPE_INT_SAMPLER_2D }, in generateOpaqueTypeCases()
3235 { 3, glu::TYPE_INT_SAMPLER_CUBE }, in generateOpaqueTypeCases()
3236 { 3, glu::TYPE_INT_SAMPLER_2D_ARRAY }, in generateOpaqueTypeCases()
3237 { 3, glu::TYPE_INT_SAMPLER_3D }, in generateOpaqueTypeCases()
3238 { 2, glu::TYPE_UINT_SAMPLER_2D }, in generateOpaqueTypeCases()
3239 { 3, glu::TYPE_UINT_SAMPLER_CUBE }, in generateOpaqueTypeCases()
3240 { 3, glu::TYPE_UINT_SAMPLER_2D_ARRAY }, in generateOpaqueTypeCases()
3241 { 3, glu::TYPE_UINT_SAMPLER_3D }, in generateOpaqueTypeCases()
3242 { 2, glu::TYPE_SAMPLER_2D_MULTISAMPLE }, in generateOpaqueTypeCases()
3243 { 2, glu::TYPE_INT_SAMPLER_2D_MULTISAMPLE }, in generateOpaqueTypeCases()
3244 { 3, glu::TYPE_UINT_SAMPLER_2D_MULTISAMPLE }, in generateOpaqueTypeCases()
3245 { 1, glu::TYPE_IMAGE_2D }, in generateOpaqueTypeCases()
3246 { 3, glu::TYPE_IMAGE_CUBE }, in generateOpaqueTypeCases()
3247 { 3, glu::TYPE_IMAGE_2D_ARRAY }, in generateOpaqueTypeCases()
3248 { 3, glu::TYPE_IMAGE_3D }, in generateOpaqueTypeCases()
3249 { 3, glu::TYPE_INT_IMAGE_2D }, in generateOpaqueTypeCases()
3250 { 3, glu::TYPE_INT_IMAGE_CUBE }, in generateOpaqueTypeCases()
3251 { 1, glu::TYPE_INT_IMAGE_2D_ARRAY }, in generateOpaqueTypeCases()
3252 { 3, glu::TYPE_INT_IMAGE_3D }, in generateOpaqueTypeCases()
3253 { 2, glu::TYPE_UINT_IMAGE_2D }, in generateOpaqueTypeCases()
3254 { 3, glu::TYPE_UINT_IMAGE_CUBE }, in generateOpaqueTypeCases()
3255 { 3, glu::TYPE_UINT_IMAGE_2D_ARRAY }, in generateOpaqueTypeCases()
3256 { 3, glu::TYPE_UINT_IMAGE_3D }, in generateOpaqueTypeCases()
3257 { 1, glu::TYPE_UINT_ATOMIC_COUNTER }, in generateOpaqueTypeCases()
3364 …:SharedPtr uniform (new ResourceDefinition::StorageQualifier(defaultBlock, glu::STORAGE_UNIFORM)); in generateUniformCaseBlocks()
3414 …:Node::SharedPtr variable(new ResourceDefinition::Variable(parentStructure, glu::TYPE_FLOAT_VEC4)); in generateBufferBackedResourceListBlockContentCases()
3433 …getGroup, ProgramInterface interface, ProgramResourcePropFlags targetProp, glu::DataType dataType,… in generateBufferBackedVariableAggregateTypeCases()
3485 …ucture, blockGroup, queryTarget.interface, PROGRAMRESOURCEPROP_ARRAY_SIZE, glu::TYPE_FLOAT, "", 3); in generateUniformBlockArraySizeContents()
3491 …cture, targetGroup, queryTarget.interface, PROGRAMRESOURCEPROP_ARRAY_SIZE, glu::TYPE_FLOAT, "", 2); in generateUniformBlockArraySizeContents()
3495 …st targetGroup, const std::string& namePrefix, ProgramInterface interface, glu::DataType type, int… in generateBufferBackedArrayStrideTypeAggregateSubCases()
3516 …ucture, tcu::TestCaseGroup* const targetGroup, ProgramInterface interface, glu::DataType type, int… in generateBufferBackedArrayStrideTypeAggregateCases()
3520 const std::string namePrefix = glu::getDataTypeName(type); in generateBufferBackedArrayStrideTypeAggregateCases()
3530 if (!glu::isDataTypeAtomicCounter(type)) in generateBufferBackedArrayStrideTypeAggregateCases()
3564 …ggregateCases(context, parentStructure, blockGroup, queryTarget.interface, glu::TYPE_SAMPLER_2D, 1… in generateUniformBlockArrayStrideContents()
3569 …de::SharedPtr layout(new ResourceDefinition::LayoutQualifier(parentStructure, glu::Layout(-1, 0))); in generateUniformBlockArrayStrideContents()
3570 …rideTypeAggregateCases(context, layout, blockGroup, queryTarget.interface, glu::TYPE_UINT_ATOMIC_C… in generateUniformBlockArrayStrideContents()
3574 …ggregateCases(context, parentStructure, blockGroup, queryTarget.interface, glu::TYPE_FLOAT, 2, fal… in generateUniformBlockArrayStrideContents()
3577 …ggregateCases(context, parentStructure, blockGroup, queryTarget.interface, glu::TYPE_BOOL, 1, fals… in generateUniformBlockArrayStrideContents()
3580 …ggregateCases(context, parentStructure, blockGroup, queryTarget.interface, glu::TYPE_BOOL_VEC3, 2,… in generateUniformBlockArrayStrideContents()
3583 …ggregateCases(context, parentStructure, blockGroup, queryTarget.interface, glu::TYPE_FLOAT_VEC3, 2… in generateUniformBlockArrayStrideContents()
3586 …ggregateCases(context, parentStructure, blockGroup, queryTarget.interface, glu::TYPE_INT_VEC3, 2, … in generateUniformBlockArrayStrideContents()
3613 …ockIndexContents (Context& context, tcu::TestCaseGroup* const targetGroup, glu::GLSLVersion glslVe… in generateUniformBlockBlockIndexContents()
3616 …const ResourceDefinition::Node::SharedPtr shader (new ResourceDefinition::Shader(program, glu::S… in generateUniformBlockBlockIndexContents()
3618 …SharedPtr uniform (new ResourceDefinition::StorageQualifier(defaultBlock, glu::STORAGE_UNIFORM)); in generateUniformBlockBlockIndexContents()
3619 …::Node::SharedPtr binding (new ResourceDefinition::LayoutQualifier(uniform, glu::Layout(-1, 0))); in generateUniformBlockBlockIndexContents()
3623 …const ResourceDefinition::Node::SharedPtr variable(new ResourceDefinition::Variable(uniform, glu::… in generateUniformBlockBlockIndexContents()
3631 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(buffer, glu::… in generateUniformBlockBlockIndexContents()
3639 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(buffer, glu::… in generateUniformBlockBlockIndexContents()
3648 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(buffer, glu:… in generateUniformBlockBlockIndexContents()
3668 …Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElement, glu::TYPE_UINT_ATOMIC_C… in generateUniformBlockAtomicCounterBufferIndexContents()
3669 …dPtr elementvariable (new ResourceDefinition::Variable(arrayArrayElement, glu::TYPE_UINT_ATOMIC_C… in generateUniformBlockAtomicCounterBufferIndexContents()
3690 …e, targetGroup, PROGRAMINTERFACE_UNIFORM, PROGRAMRESOURCEPROP_NAME_LENGTH, glu::TYPE_FLOAT, "", 2); in generateUniformBlockNameLengthContents()
3692 …e, targetGroup, PROGRAMINTERFACE_UNIFORM, PROGRAMRESOURCEPROP_NAME_LENGTH, glu::TYPE_FLOAT, "", 1); in generateUniformBlockNameLengthContents()
3753 …aredPtr offset (new ResourceDefinition::LayoutQualifier(parentStructure, glu::Layout(-1, -1, 4))… in generateUniformBlockOffsetContents()
3755 …:SharedPtr elementVariable (new ResourceDefinition::Variable(arrayElement, glu::TYPE_UINT_ATOMIC_C… in generateUniformBlockOffsetContents()
3765 …::Node::SharedPtr memberVariable (new ResourceDefinition::Variable(structMember, glu::TYPE_FLOAT)); in generateUniformBlockOffsetContents()
3766 …:Node::SharedPtr elementVariable (new ResourceDefinition::Variable(arrayElement, glu::TYPE_FLOAT)); in generateUniformBlockOffsetContents()
3794 …::Node::SharedPtr memberVariable (new ResourceDefinition::Variable(structMember, glu::TYPE_FLOAT)); in generateUniformBlockOffsetContents()
3795 …:Node::SharedPtr elementVariable (new ResourceDefinition::Variable(arrayElement, glu::TYPE_FLOAT)); in generateUniformBlockOffsetContents()
3815 glu::DataType type; in generateMatrixVariableCases()
3818 { 0, glu::TYPE_FLOAT_MAT2 }, in generateMatrixVariableCases()
3819 { 1, glu::TYPE_FLOAT_MAT2X3 }, in generateMatrixVariableCases()
3820 { 2, glu::TYPE_FLOAT_MAT2X4 }, in generateMatrixVariableCases()
3821 { 2, glu::TYPE_FLOAT_MAT3X2 }, in generateMatrixVariableCases()
3822 { 1, glu::TYPE_FLOAT_MAT3 }, in generateMatrixVariableCases()
3823 { 0, glu::TYPE_FLOAT_MAT3X4 }, in generateMatrixVariableCases()
3824 { 2, glu::TYPE_FLOAT_MAT4X2 }, in generateMatrixVariableCases()
3825 { 1, glu::TYPE_FLOAT_MAT4X3 }, in generateMatrixVariableCases()
3826 { 0, glu::TYPE_FLOAT_MAT4 }, in generateMatrixVariableCases()
3897 glu::MatrixOrder order; in generateUniformMatrixOrderCaseBlockContentCases()
3900 { "no_qualifier", glu::MATRIXORDER_LAST }, in generateUniformMatrixOrderCaseBlockContentCases()
3901 { "row_major", glu::MATRIXORDER_ROW_MAJOR }, in generateUniformMatrixOrderCaseBlockContentCases()
3902 { "column_major", glu::MATRIXORDER_COLUMN_MAJOR }, in generateUniformMatrixOrderCaseBlockContentCases()
3910 …if (qualifiers[qualifierNdx].order == glu::MATRIXORDER_LAST || parentStructure->getType() == Resou… in generateUniformMatrixOrderCaseBlockContentCases()
3917 if (qualifiers[qualifierNdx].order != glu::MATRIXORDER_LAST) in generateUniformMatrixOrderCaseBlockContentCases()
3919 glu::Layout layout; in generateUniformMatrixOrderCaseBlockContentCases()
3924 if (extendedBasicTypeCases && qualifiers[qualifierNdx].order == glu::MATRIXORDER_LAST) in generateUniformMatrixOrderCaseBlockContentCases()
3942 …, blockGroup, queryTarget.interface, PROGRAMRESOURCEPROP_MATRIX_ROW_MAJOR, glu::TYPE_FLOAT_MAT3X2,… in generateUniformMatrixOrderCaseBlockContentCases()
3947 …alifierGroup, queryTarget.interface, PROGRAMRESOURCEPROP_MATRIX_ROW_MAJOR, glu::TYPE_FLOAT_MAT3X2,… in generateUniformMatrixOrderCaseBlockContentCases()
3958 glu::MatrixOrder order; in generateUniformMatrixStrideCaseBlockContentCases()
3961 { "no_qualifier", glu::MATRIXORDER_LAST }, in generateUniformMatrixStrideCaseBlockContentCases()
3962 { "row_major", glu::MATRIXORDER_ROW_MAJOR }, in generateUniformMatrixStrideCaseBlockContentCases()
3963 { "column_major", glu::MATRIXORDER_COLUMN_MAJOR }, in generateUniformMatrixStrideCaseBlockContentCases()
3971 …if (qualifiers[qualifierNdx].order == glu::MATRIXORDER_LAST || parentStructure->getType() == Resou… in generateUniformMatrixStrideCaseBlockContentCases()
3978 if (qualifiers[qualifierNdx].order != glu::MATRIXORDER_LAST) in generateUniformMatrixStrideCaseBlockContentCases()
3980 glu::Layout layout; in generateUniformMatrixStrideCaseBlockContentCases()
3989 if (qualifiers[qualifierNdx].order == glu::MATRIXORDER_LAST) in generateUniformMatrixStrideCaseBlockContentCases()
4007 …, blockGroup, queryTarget.interface, PROGRAMRESOURCEPROP_MATRIX_ROW_MAJOR, glu::TYPE_FLOAT_MAT3X2,… in generateUniformMatrixStrideCaseBlockContentCases()
4011 …alifierGroup, queryTarget.interface, PROGRAMRESOURCEPROP_MATRIX_ROW_MAJOR, glu::TYPE_FLOAT_MAT3X2,… in generateUniformMatrixStrideCaseBlockContentCases()
4025 glu::MatrixOrder order; in generateUniformMatrixCaseBlocks()
4028 { "default_block", "Default block", false, true, true, glu::MATRIXORDER_LAST }, in generateUniformMatrixCaseBlocks()
4029 { "named_block", "Named uniform block", true, true, true, glu::MATRIXORDER_LAST }, in generateUniformMatrixCaseBlocks()
4030 …{ "named_block_row_major", "Named uniform block", true, true, false, glu::MATRIXORDER_ROW_MAJOR … in generateUniformMatrixCaseBlocks()
4031 …{ "named_block_col_major", "Named uniform block", true, true, false, glu::MATRIXORDER_COLUMN_MAJ… in generateUniformMatrixCaseBlocks()
4032 { "unnamed_block", "Unnamed uniform block", true, false, false, glu::MATRIXORDER_LAST }, in generateUniformMatrixCaseBlocks()
4033 …{ "unnamed_block_row_major", "Unnamed uniform block", true, false, false, glu::MATRIXORDER_ROW_MAJ… in generateUniformMatrixCaseBlocks()
4034 …{ "unnamed_block_col_major", "Unnamed uniform block", true, false, false, glu::MATRIXORDER_COLUMN_… in generateUniformMatrixCaseBlocks()
4038 …:SharedPtr uniform (new ResourceDefinition::StorageQualifier(defaultBlock, glu::STORAGE_UNIFORM)); in generateUniformMatrixCaseBlocks()
4048 if (children[childNdx].order != glu::MATRIXORDER_LAST) in generateUniformMatrixCaseBlocks()
4050 glu::Layout layout; in generateUniformMatrixCaseBlocks()
4070 …on::Node::SharedPtr variable (new ResourceDefinition::Variable(parentStructure, glu::TYPE_FLOAT)); in generateBufferReferencedByShaderInterfaceBlockCases()
4073 …n::Node::SharedPtr variableArray (new ResourceDefinition::Variable(arrayElement, glu::TYPE_FLOAT)); in generateBufferReferencedByShaderInterfaceBlockCases()
4074 …::Node::SharedPtr variableStruct (new ResourceDefinition::Variable(structMember, glu::TYPE_FLOAT)); in generateBufferReferencedByShaderInterfaceBlockCases()
4086 …:SharedPtr layout (new ResourceDefinition::LayoutQualifier(parentStructure, glu::Layout(-1, 0))); in generateBufferReferencedByShaderInterfaceBlockCases()
4087 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(layout, glu:… in generateBufferReferencedByShaderInterfaceBlockCases()
4090 …de::SharedPtr variableArray (new ResourceDefinition::Variable(arrayElement, glu::TYPE_SAMPLER_2D)); in generateBufferReferencedByShaderInterfaceBlockCases()
4091 …e::SharedPtr variableStruct (new ResourceDefinition::Variable(structMember, glu::TYPE_SAMPLER_2D)); in generateBufferReferencedByShaderInterfaceBlockCases()
4102 …:SharedPtr layout (new ResourceDefinition::LayoutQualifier(parentStructure, glu::Layout(-1, 0))); in generateBufferReferencedByShaderInterfaceBlockCases()
4103 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(layout, glu:… in generateBufferReferencedByShaderInterfaceBlockCases()
4105 …e::SharedPtr variableArray (new ResourceDefinition::Variable(arrayElement, glu::TYPE_UINT_ATOMIC_C… in generateBufferReferencedByShaderInterfaceBlockCases()
4117 …e::SharedPtr variableArrayStruct (new ResourceDefinition::Variable(arrayElement, glu::TYPE_FLOAT)); in generateBufferReferencedByShaderInterfaceBlockCases()
4126 …aredPtr variableArrayStruct (new ResourceDefinition::Variable(arrayStructMember, glu::TYPE_FLOAT)); in generateBufferReferencedByShaderInterfaceBlockCases()
4135 …SharedPtr variableArrayStruct (new ResourceDefinition::Variable(subArrayElement, glu::TYPE_FLOAT)); in generateBufferReferencedByShaderInterfaceBlockCases()
4144 …SharedPtr variableArrayStruct (new ResourceDefinition::Variable(subStructMember, glu::TYPE_FLOAT)); in generateBufferReferencedByShaderInterfaceBlockCases()
4155 …n::Node::SharedPtr variableArray (new ResourceDefinition::Variable(arrayElement, glu::TYPE_FLOAT)); in generateBufferReferencedByShaderInterfaceBlockCases()
4163 …n::Node::SharedPtr variableArray (new ResourceDefinition::Variable(structMember, glu::TYPE_FLOAT)); in generateBufferReferencedByShaderInterfaceBlockCases()
4176 …haredPtr uniform (new ResourceDefinition::StorageQualifier(defaultBlock, glu::STORAGE_UNIFORM)); in generateUniformReferencedByShaderSingleBlockContentCases()
4220 …ShaderCaseBlocks (Context& context, tcu::TestCaseGroup* const targetGroup, glu::GLSLVersion glslVe… in generateReferencedByShaderCaseBlocks()
4225 glu::ShaderType stage; in generateReferencedByShaderCaseBlocks()
4229 { "compute", glu::SHADERTYPE_COMPUTE, 3 }, in generateReferencedByShaderCaseBlocks()
4230 { "separable_vertex", glu::SHADERTYPE_VERTEX, 2 }, in generateReferencedByShaderCaseBlocks()
4231 { "separable_fragment", glu::SHADERTYPE_FRAGMENT, 2 }, in generateReferencedByShaderCaseBlocks()
4232 { "separable_tess_ctrl", glu::SHADERTYPE_TESSELLATION_CONTROL, 2 }, in generateReferencedByShaderCaseBlocks()
4233 { "separable_tess_eval", glu::SHADERTYPE_TESSELLATION_EVALUATION, 2 }, in generateReferencedByShaderCaseBlocks()
4234 { "separable_geometry", glu::SHADERTYPE_GEOMETRY, 2 }, in generateReferencedByShaderCaseBlocks()
4246 (1 << glu::SHADERTYPE_VERTEX) | (1 << glu::SHADERTYPE_FRAGMENT), in generateReferencedByShaderCaseBlocks()
4252 …(1 << glu::SHADERTYPE_VERTEX) | (1 << glu::SHADERTYPE_FRAGMENT) | (1 << glu::SHADERTYPE_TESSELLATI… in generateReferencedByShaderCaseBlocks()
4258 … (1 << glu::SHADERTYPE_VERTEX) | (1 << glu::SHADERTYPE_FRAGMENT) | (1 << glu::SHADERTYPE_GEOMETRY), in generateReferencedByShaderCaseBlocks()
4264glu::SHADERTYPE_VERTEX) | (1 << glu::SHADERTYPE_FRAGMENT) | (1 << glu::SHADERTYPE_TESSELLATION_CON… in generateReferencedByShaderCaseBlocks()
4273 const bool programSeparable = (singleStageCases[ndx].stage != glu::SHADERTYPE_COMPUTE); in generateReferencedByShaderCaseBlocks()
4301 for (int selectedStageBit = 0; selectedStageBit < glu::SHADERTYPE_LAST; ++selectedStageBit) in generateReferencedByShaderCaseBlocks()
4310 const char* stageName = (selectedStageBit == glu::SHADERTYPE_VERTEX) ? ("vertex") in generateReferencedByShaderCaseBlocks()
4311 : (selectedStageBit == glu::SHADERTYPE_FRAGMENT) ? ("fragment") in generateReferencedByShaderCaseBlocks()
4312 : (selectedStageBit == glu::SHADERTYPE_GEOMETRY) ? ("geo") in generateReferencedByShaderCaseBlocks()
4313 : (selectedStageBit == glu::SHADERTYPE_TESSELLATION_CONTROL) ? ("tess_ctrl") in generateReferencedByShaderCaseBlocks()
4314 : (selectedStageBit == glu::SHADERTYPE_TESSELLATION_EVALUATION) ? ("tess_eval") in generateReferencedByShaderCaseBlocks()
4327 static glu::DataType generateRandomDataType (de::Random& rnd, bool excludeOpaqueTypes) in generateRandomDataType()
4329 static const glu::DataType s_types[] = in generateRandomDataType()
4331 glu::TYPE_FLOAT, in generateRandomDataType()
4332 glu::TYPE_INT, in generateRandomDataType()
4333 glu::TYPE_UINT, in generateRandomDataType()
4334 glu::TYPE_BOOL, in generateRandomDataType()
4335 glu::TYPE_FLOAT_VEC2, in generateRandomDataType()
4336 glu::TYPE_FLOAT_VEC3, in generateRandomDataType()
4337 glu::TYPE_FLOAT_VEC4, in generateRandomDataType()
4338 glu::TYPE_INT_VEC2, in generateRandomDataType()
4339 glu::TYPE_INT_VEC3, in generateRandomDataType()
4340 glu::TYPE_INT_VEC4, in generateRandomDataType()
4341 glu::TYPE_UINT_VEC2, in generateRandomDataType()
4342 glu::TYPE_UINT_VEC3, in generateRandomDataType()
4343 glu::TYPE_UINT_VEC4, in generateRandomDataType()
4344 glu::TYPE_BOOL_VEC2, in generateRandomDataType()
4345 glu::TYPE_BOOL_VEC3, in generateRandomDataType()
4346 glu::TYPE_BOOL_VEC4, in generateRandomDataType()
4347 glu::TYPE_FLOAT_MAT2, in generateRandomDataType()
4348 glu::TYPE_FLOAT_MAT2X3, in generateRandomDataType()
4349 glu::TYPE_FLOAT_MAT2X4, in generateRandomDataType()
4350 glu::TYPE_FLOAT_MAT3X2, in generateRandomDataType()
4351 glu::TYPE_FLOAT_MAT3, in generateRandomDataType()
4352 glu::TYPE_FLOAT_MAT3X4, in generateRandomDataType()
4353 glu::TYPE_FLOAT_MAT4X2, in generateRandomDataType()
4354 glu::TYPE_FLOAT_MAT4X3, in generateRandomDataType()
4355 glu::TYPE_FLOAT_MAT4, in generateRandomDataType()
4357 glu::TYPE_SAMPLER_2D, in generateRandomDataType()
4358 glu::TYPE_SAMPLER_CUBE, in generateRandomDataType()
4359 glu::TYPE_SAMPLER_2D_ARRAY, in generateRandomDataType()
4360 glu::TYPE_SAMPLER_3D, in generateRandomDataType()
4361 glu::TYPE_SAMPLER_2D_SHADOW, in generateRandomDataType()
4362 glu::TYPE_SAMPLER_CUBE_SHADOW, in generateRandomDataType()
4363 glu::TYPE_SAMPLER_2D_ARRAY_SHADOW, in generateRandomDataType()
4364 glu::TYPE_INT_SAMPLER_2D, in generateRandomDataType()
4365 glu::TYPE_INT_SAMPLER_CUBE, in generateRandomDataType()
4366 glu::TYPE_INT_SAMPLER_2D_ARRAY, in generateRandomDataType()
4367 glu::TYPE_INT_SAMPLER_3D, in generateRandomDataType()
4368 glu::TYPE_UINT_SAMPLER_2D, in generateRandomDataType()
4369 glu::TYPE_UINT_SAMPLER_CUBE, in generateRandomDataType()
4370 glu::TYPE_UINT_SAMPLER_2D_ARRAY, in generateRandomDataType()
4371 glu::TYPE_UINT_SAMPLER_3D, in generateRandomDataType()
4372 glu::TYPE_SAMPLER_2D_MULTISAMPLE, in generateRandomDataType()
4373 glu::TYPE_INT_SAMPLER_2D_MULTISAMPLE, in generateRandomDataType()
4374 glu::TYPE_UINT_SAMPLER_2D_MULTISAMPLE, in generateRandomDataType()
4375 glu::TYPE_IMAGE_2D, in generateRandomDataType()
4376 glu::TYPE_IMAGE_CUBE, in generateRandomDataType()
4377 glu::TYPE_IMAGE_2D_ARRAY, in generateRandomDataType()
4378 glu::TYPE_IMAGE_3D, in generateRandomDataType()
4379 glu::TYPE_INT_IMAGE_2D, in generateRandomDataType()
4380 glu::TYPE_INT_IMAGE_CUBE, in generateRandomDataType()
4381 glu::TYPE_INT_IMAGE_2D_ARRAY, in generateRandomDataType()
4382 glu::TYPE_INT_IMAGE_3D, in generateRandomDataType()
4383 glu::TYPE_UINT_IMAGE_2D, in generateRandomDataType()
4384 glu::TYPE_UINT_IMAGE_CUBE, in generateRandomDataType()
4385 glu::TYPE_UINT_IMAGE_2D_ARRAY, in generateRandomDataType()
4386 glu::TYPE_UINT_IMAGE_3D, in generateRandomDataType()
4387 glu::TYPE_UINT_ATOMIC_COUNTER in generateRandomDataType()
4392 const glu::DataType type = s_types[rnd.getInt(0, DE_LENGTH_OF_ARRAY(s_types)-1)]; in generateRandomDataType()
4395 glu::isDataTypeScalarOrVector(type) || in generateRandomDataType()
4396 glu::isDataTypeMatrix(type)) in generateRandomDataType()
4403 glu::DataType baseType, in generateRandomVariableDefinition()
4404 const glu::Layout& layout, in generateRandomVariableDefinition()
4426 static ResourceDefinition::Node::SharedPtr generateRandomCoreShaderSet (de::Random& rnd, glu::GLSLV… in generateRandomCoreShaderSet()
4432 …return ResourceDefinition::Node::SharedPtr(new ResourceDefinition::Shader(program, glu::SHADERTYPE… in generateRandomCoreShaderSet()
4442 shaderSet->setStage(glu::SHADERTYPE_VERTEX, true); in generateRandomCoreShaderSet()
4443 shaderSet->setStage(glu::SHADERTYPE_FRAGMENT, rnd.getBool()); in generateRandomCoreShaderSet()
4447 shaderSet->setStage(glu::SHADERTYPE_VERTEX, rnd.getBool()); in generateRandomCoreShaderSet()
4448 shaderSet->setStage(glu::SHADERTYPE_FRAGMENT, true); in generateRandomCoreShaderSet()
4457 …const glu::ShaderType shaderType = (rnd.getBool()) ? (glu::SHADERTYPE_VERTEX) : (glu::SHADERT… in generateRandomCoreShaderSet()
4463 static ResourceDefinition::Node::SharedPtr generateRandomExtShaderSet (de::Random& rnd, glu::GLSLVe… in generateRandomExtShaderSet()
4471 shaderSet->setStage(glu::SHADERTYPE_VERTEX, rnd.getBool()); in generateRandomExtShaderSet()
4472 shaderSet->setStage(glu::SHADERTYPE_FRAGMENT, rnd.getBool()); in generateRandomExtShaderSet()
4478 shaderSet->setStage(glu::SHADERTYPE_GEOMETRY, true); in generateRandomExtShaderSet()
4482 shaderSet->setStage(glu::SHADERTYPE_TESSELLATION_CONTROL, rnd.getBool()); in generateRandomExtShaderSet()
4483 shaderSet->setStage(glu::SHADERTYPE_TESSELLATION_EVALUATION, rnd.getBool()); in generateRandomExtShaderSet()
4488 shaderSet->setStage(glu::SHADERTYPE_GEOMETRY, rnd.getBool()); in generateRandomExtShaderSet()
4492 shaderSet->setStage(glu::SHADERTYPE_TESSELLATION_CONTROL, true); in generateRandomExtShaderSet()
4493 shaderSet->setStage(glu::SHADERTYPE_TESSELLATION_EVALUATION, rnd.getBool()); in generateRandomExtShaderSet()
4497 shaderSet->setStage(glu::SHADERTYPE_TESSELLATION_CONTROL, rnd.getBool()); in generateRandomExtShaderSet()
4498 shaderSet->setStage(glu::SHADERTYPE_TESSELLATION_EVALUATION, true); in generateRandomExtShaderSet()
4509 const glu::ShaderType shaderType = (selector == 0) ? (glu::SHADERTYPE_GEOMETRY) in generateRandomExtShaderSet()
4510 : (selector == 1) ? (glu::SHADERTYPE_TESSELLATION_CONTROL) in generateRandomExtShaderSet()
4511 : (selector == 2) ? (glu::SHADERTYPE_TESSELLATION_EVALUATION) in generateRandomExtShaderSet()
4512 : (glu::SHADERTYPE_LAST); in generateRandomExtShaderSet()
4518 static ResourceDefinition::Node::SharedPtr generateRandomShaderSet (de::Random& rnd, glu::GLSLVersi… in generateRandomShaderSet()
4526 static glu::Layout generateRandomUniformBlockLayout (de::Random& rnd) in generateRandomUniformBlockLayout()
4528 glu::Layout layout; in generateRandomUniformBlockLayout()
4534 …layout.matrixOrder = (rnd.getBool()) ? (glu::MATRIXORDER_COLUMN_MAJOR) : (glu::MATRIXORDER_ROW_MAJ… in generateRandomUniformBlockLayout()
4539 static glu::Layout generateRandomBufferBlockLayout (de::Random& rnd) in generateRandomBufferBlockLayout()
4544 static glu::Layout generateRandomVariableLayout (de::Random& rnd, glu::DataType type, bool interfac… in generateRandomVariableLayout()
4546 glu::Layout layout; in generateRandomVariableLayout()
4548 …if ((glu::isDataTypeAtomicCounter(type) || glu::isDataTypeImage(type) || glu::isDataTypeSampler(ty… in generateRandomVariableLayout()
4551 if (glu::isDataTypeAtomicCounter(type) && rnd.getBool()) in generateRandomVariableLayout()
4554 if (glu::isDataTypeMatrix(type) && interfaceBlockMember && rnd.getBool()) in generateRandomVariableLayout()
4555 …layout.matrixOrder = (rnd.getBool()) ? (glu::MATRIXORDER_COLUMN_MAJOR) : (glu::MATRIXORDER_ROW_MAJ… in generateRandomVariableLayout()
4560 static void generateUniformRandomCase (Context& context, tcu::TestCaseGroup* const targetGroup, glu in generateUniformRandomCase()
4565 const glu::DataType type = generateRandomDataType(rnd, interfaceBlock); in generateUniformRandomCase()
4566 const glu::Layout layout = generateRandomVariableLayout(rnd, type, interfaceBlock); in generateUniformRandomCase()
4568 …haredPtr uniform (new ResourceDefinition::StorageQualifier(defaultBlock, glu::STORAGE_UNIFORM)); in generateUniformRandomCase()
4589 …mCaseRandomCases (Context& context, tcu::TestCaseGroup* const targetGroup, glu::GLSLVersion glslVe… in generateUniformCaseRandomCases()
4614glu::GLSLVersion glslVersion = glu::getContextTypeGLSLVersion(m_context.getRenderContext().getType… in init()
4616 …on::Node::SharedPtr computeShader (new ResourceDefinition::Shader(program, glu::SHADERTYPE_COMPUTE… in init()
4720 …ckTypes (Context& context, tcu::TestCaseGroup* targetGroup, glu::GLSLVersion glslVersion, glu::Sto… in generateBufferBackedInterfaceResourceBasicBlockTypes()
4723 …const ResourceDefinition::Node::SharedPtr shader (new ResourceDefinition::Shader(program, glu::… in generateBufferBackedInterfaceResourceBasicBlockTypes()
4726 …aredPtr binding (new ResourceDefinition::LayoutQualifier(storageQualifier, glu::Layout(-1, 1))); in generateBufferBackedInterfaceResourceBasicBlockTypes()
4727 …const ProgramInterface programInterface = (storage == glu::STORAGE_UNIFORM) ? (PROGRAMINTERFA… in generateBufferBackedInterfaceResourceBasicBlockTypes()
4732 …tion::Node::SharedPtr dummyVariable (new ResourceDefinition::Variable(block, glu::TYPE_BOOL_VEC3)); in generateBufferBackedInterfaceResourceBasicBlockTypes()
4740 …tion::Node::SharedPtr dummyVariable (new ResourceDefinition::Variable(block, glu::TYPE_BOOL_VEC3)); in generateBufferBackedInterfaceResourceBasicBlockTypes()
4749 …tion::Node::SharedPtr dummyVariable (new ResourceDefinition::Variable(block, glu::TYPE_BOOL_VEC3)); in generateBufferBackedInterfaceResourceBasicBlockTypes()
4758 …tion::Node::SharedPtr dummyVariable (new ResourceDefinition::Variable(block, glu::TYPE_BOOL_VEC3)); in generateBufferBackedInterfaceResourceBasicBlockTypes()
4764 …ngCases (Context& context, tcu::TestCaseGroup* targetGroup, glu::GLSLVersion glslVersion, glu::Sto… in generateBufferBackedInterfaceResourceBufferBindingCases()
4767 …const ResourceDefinition::Node::SharedPtr shader (new ResourceDefinition::Shader(program, glu::… in generateBufferBackedInterfaceResourceBufferBindingCases()
4776 …dPtr binding (new ResourceDefinition::LayoutQualifier(storageQualifier, glu::Layout(-1, binding… in generateBufferBackedInterfaceResourceBufferBindingCases()
4777 …const ProgramInterface programInterface = (storage == glu::STORAGE_UNIFORM) ? (PROGRAMINTERFA… in generateBufferBackedInterfaceResourceBufferBindingCases()
4782 …tion::Node::SharedPtr dummyVariable (new ResourceDefinition::Variable(block, glu::TYPE_BOOL_VEC3)); in generateBufferBackedInterfaceResourceBufferBindingCases()
4790 …tion::Node::SharedPtr dummyVariable (new ResourceDefinition::Variable(block, glu::TYPE_BOOL_VEC3)); in generateBufferBackedInterfaceResourceBufferBindingCases()
4799 …tion::Node::SharedPtr dummyVariable (new ResourceDefinition::Variable(block, glu::TYPE_BOOL_VEC3)); in generateBufferBackedInterfaceResourceBufferBindingCases()
4806 template <glu::Storage Storage>
4809 …const ProgramInterface programInterface = (Storage == glu::STORAGE_UNIFORM) ? (PROGRAMINTERFA… in generateBufferBlockReferencedByShaderSingleBlockContentCases()
4810 (Storage == glu::STORAGE_BUFFER) ? (PROGRAMINTERFACE_SHADER_STORAGE_BLOCK) : in generateBufferBlockReferencedByShaderSingleBlockContentCases()
4822 …tion::Node::SharedPtr dummyVariable (new ResourceDefinition::Variable(block, glu::TYPE_BOOL_VEC3)); in generateBufferBlockReferencedByShaderSingleBlockContentCases()
4830 …tion::Node::SharedPtr dummyVariable (new ResourceDefinition::Variable(block, glu::TYPE_BOOL_VEC3)); in generateBufferBlockReferencedByShaderSingleBlockContentCases()
4839 …tion::Node::SharedPtr dummyVariable (new ResourceDefinition::Variable(block, glu::TYPE_BOOL_VEC3)); in generateBufferBlockReferencedByShaderSingleBlockContentCases()
4845 …sourceActiveVariablesCase (Context& context, tcu::TestCaseGroup* targetGroup, glu::Storage storage) in generateBufferBackedInterfaceResourceActiveVariablesCase()
4852 …sourceBufferDataSizeCases (Context& context, tcu::TestCaseGroup* targetGroup, glu::Storage storage) in generateBufferBackedInterfaceResourceBufferDataSizeCases()
4862 BufferBackedBlockInterfaceTestGroup (Context& context, glu::Storage interfaceBlockStorage);
4866 static const char* getGroupName (glu::Storage storage);
4867 static const char* getGroupDescription (glu::Storage storage);
4869 const glu::Storage m_storage;
4872 BufferBackedBlockInterfaceTestGroup::BufferBackedBlockInterfaceTestGroup(Context& context, glu::Sto… in BufferBackedBlockInterfaceTestGroup()
4876 DE_ASSERT(storage == glu::STORAGE_BUFFER || storage == glu::STORAGE_UNIFORM); in BufferBackedBlockInterfaceTestGroup()
4881 …const glu::GLSLVersion glslVersion = glu::getContextTypeGLSLVersion(m_context.getRenderContext().g… in init()
4923 if (m_storage == glu::STORAGE_UNIFORM) in init()
4924 …, glslVersion, generateBufferBlockReferencedByShaderSingleBlockContentCases<glu::STORAGE_UNIFORM>); in init()
4925 else if (m_storage == glu::STORAGE_BUFFER) in init()
4926 …p, glslVersion, generateBufferBlockReferencedByShaderSingleBlockContentCases<glu::STORAGE_BUFFER>); in init()
4932 const char* BufferBackedBlockInterfaceTestGroup::getGroupName (glu::Storage storage) in getGroupName()
4936 case glu::STORAGE_UNIFORM: return "uniform_block"; in getGroupName()
4937 case glu::STORAGE_BUFFER: return "shader_storage_block"; in getGroupName()
4944 const char* BufferBackedBlockInterfaceTestGroup::getGroupDescription (glu::Storage storage) in getGroupDescription()
4948 case glu::STORAGE_UNIFORM: return "Uniform block interface"; in getGroupDescription()
4949 case glu::STORAGE_BUFFER: return "Shader storage block interface"; in getGroupDescription()
4978 (1 << glu::SHADERTYPE_VERTEX) | (1 << glu::SHADERTYPE_FRAGMENT) in init()
4982 …(1 << glu::SHADERTYPE_VERTEX) | (1 << glu::SHADERTYPE_FRAGMENT) | (1 << glu::SHADERTYPE_TESSELLATI… in init()
4986 (1 << glu::SHADERTYPE_VERTEX) | (1 << glu::SHADERTYPE_FRAGMENT) | (1 << glu::SHADERTYPE_GEOMETRY) in init()
4990glu::SHADERTYPE_VERTEX) | (1 << glu::SHADERTYPE_FRAGMENT) | (1 << glu::SHADERTYPE_TESSELLATION_CON… in init()
5007 …context, "referenced_by_compute", "", false, (1 << glu::SHADERTYPE_COMPUTE), (1 << glu in init()
5008 …xt, "referenced_by_separable_vertex", "", true, (1 << glu::SHADERTYPE_VERTEX), (1 << glu in init()
5009 …, "referenced_by_separable_fragment", "", true, (1 << glu::SHADERTYPE_FRAGMENT), (1 << glu in init()
5010 …, "referenced_by_separable_geometry", "", true, (1 << glu::SHADERTYPE_GEOMETRY), (1 << glu in init()
5011 …ferenced_by_separable_tess_ctrl", "", true, (1 << glu::SHADERTYPE_TESSELLATION_CONTROL), (1 <… in init()
5012 …renced_by_separable_tess_eval", "", true, (1 << glu::SHADERTYPE_TESSELLATION_EVALUATION), (1 … in init()
5018 for (deUint32 stageNdx = 0; stageNdx < glu::SHADERTYPE_LAST; ++stageNdx) in init()
5025 const char* stageName = (stageNdx == glu::SHADERTYPE_VERTEX) ? ("vertex") in init()
5026 : (stageNdx == glu::SHADERTYPE_FRAGMENT) ? ("fragment") in init()
5027 : (stageNdx == glu::SHADERTYPE_GEOMETRY) ? ("geo") in init()
5028 : (stageNdx == glu::SHADERTYPE_TESSELLATION_CONTROL) ? ("tess_ctrl") in init()
5029 : (stageNdx == glu::SHADERTYPE_TESSELLATION_EVALUATION) ? ("tess_eval") in init()
5039 …OutputShaderCaseBlocks (Context& context, tcu::TestCaseGroup* targetGroup, glu::GLSLVersion glslVe… in generateProgramInputOutputShaderCaseBlocks()
5044 glu::ShaderType stage; in generateProgramInputOutputShaderCaseBlocks()
5047 { "separable_vertex", glu::SHADERTYPE_VERTEX }, in generateProgramInputOutputShaderCaseBlocks()
5048 { "separable_fragment", glu::SHADERTYPE_FRAGMENT }, in generateProgramInputOutputShaderCaseBlocks()
5049 { "separable_tess_ctrl", glu::SHADERTYPE_TESSELLATION_CONTROL }, in generateProgramInputOutputShaderCaseBlocks()
5050 { "separable_tess_eval", glu::SHADERTYPE_TESSELLATION_EVALUATION }, in generateProgramInputOutputShaderCaseBlocks()
5051 { "separable_geometry", glu::SHADERTYPE_GEOMETRY }, in generateProgramInputOutputShaderCaseBlocks()
5062 shaderSetPtr->setStage(glu::SHADERTYPE_VERTEX, inputCase); in generateProgramInputOutputShaderCaseBlocks()
5063 shaderSetPtr->setStage(glu::SHADERTYPE_FRAGMENT, !inputCase); in generateProgramInputOutputShaderCaseBlocks()
5067 …kContentGenerator(context, defaultBlock, blockGroup, (1 << glu::SHADERTYPE_VERTEX) | (1 << glu::SH… in generateProgramInputOutputShaderCaseBlocks()
5087 …const ResourceDefinition::Node::SharedPtr shader (new ResourceDefinition::Shader(program, glu::S… in generateProgramInputOutputShaderCaseBlocks()
5092 blockContentGenerator(context, defaultBlock, blockGroup, (1 << glu::SHADERTYPE_COMPUTE)); in generateProgramInputOutputShaderCaseBlocks()
5100 glu::ShaderType inputStage; in generateProgramInputOutputShaderCaseBlocks()
5101 glu::Storage inputStorage; in generateProgramInputOutputShaderCaseBlocks()
5103 glu::ShaderType outputStage; in generateProgramInputOutputShaderCaseBlocks()
5104 glu::Storage outputStorage; in generateProgramInputOutputShaderCaseBlocks()
5109 glu::SHADERTYPE_FRAGMENT, in generateProgramInputOutputShaderCaseBlocks()
5110 glu::STORAGE_IN, in generateProgramInputOutputShaderCaseBlocks()
5112 glu::SHADERTYPE_VERTEX, in generateProgramInputOutputShaderCaseBlocks()
5113 glu::STORAGE_OUT, in generateProgramInputOutputShaderCaseBlocks()
5117 glu::SHADERTYPE_TESSELLATION_EVALUATION, in generateProgramInputOutputShaderCaseBlocks()
5118 glu::STORAGE_PATCH_IN, in generateProgramInputOutputShaderCaseBlocks()
5120 glu::SHADERTYPE_TESSELLATION_CONTROL, in generateProgramInputOutputShaderCaseBlocks()
5121 glu::STORAGE_PATCH_OUT, in generateProgramInputOutputShaderCaseBlocks()
5134 …const glu::ShaderType shaderType = (inputCase) ? (ioBlockTypes[ndx].inputStage) : (ioBlockTy… in generateProgramInputOutputShaderCaseBlocks()
5135 …const glu::Storage storageType = (inputCase) ? (ioBlockTypes[ndx].inputStorage) : (ioBlockT… in generateProgramInputOutputShaderCaseBlocks()
5156 …nition::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(storage, glu::Layout(3))); in generateProgramInputOutputShaderCaseBlocks()
5202 …ition::Node::SharedPtr(new ResourceDefinition::StorageQualifier(parentStructure, glu::STORAGE_IN))) in generateProgramInputBlockContents()
5204 const glu::ShaderType firstStage = getShaderMaskFirstStage(presentShadersMask); in generateProgramInputBlockContents()
5210 if (firstStage == glu::SHADERTYPE_VERTEX) in generateProgramInputBlockContents()
5213 …const ResourceDefinition::Node::SharedPtr variable(new ResourceDefinition::Variable(input, glu::TY… in generateProgramInputBlockContents()
5216 else if (firstStage == glu::SHADERTYPE_FRAGMENT || !inDefaultBlock) in generateProgramInputBlockContents()
5220 …const ResourceDefinition::Node::SharedPtr variable(new ResourceDefinition::Variable(input, glu::TY… in generateProgramInputBlockContents()
5226 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(structMbr, glu::TYPE_FLOAT_VEC4)); in generateProgramInputBlockContents()
5232 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramInputBlockContents()
5236 else if (firstStage == glu::SHADERTYPE_TESSELLATION_CONTROL || in generateProgramInputBlockContents()
5237 firstStage == glu::SHADERTYPE_GEOMETRY) in generateProgramInputBlockContents()
5244 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramInputBlockContents()
5250 else if (firstStage == glu::SHADERTYPE_TESSELLATION_EVALUATION) in generateProgramInputBlockContents()
5253 …edPtr patchInput(new ResourceDefinition::StorageQualifier(parentStructure, glu::STORAGE_PATCH_IN)); in generateProgramInputBlockContents()
5258 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramInputBlockContents()
5266 …ion::Node::SharedPtr variable (new ResourceDefinition::Variable(patchInput, glu::TYPE_FLOAT_VEC4)); in generateProgramInputBlockContents()
5272 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(structMbr, glu::TYPE_FLOAT_VEC4)); in generateProgramInputBlockContents()
5278 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramInputBlockContents()
5282 else if (firstStage == glu::SHADERTYPE_COMPUTE) in generateProgramInputBlockContents()
5303 …tion::Node::SharedPtr(new ResourceDefinition::StorageQualifier(parentStructure, glu::STORAGE_OUT))) in generateProgramOutputBlockContents()
5305 const glu::ShaderType lastStage = getShaderMaskLastStage(presentShadersMask); in generateProgramOutputBlockContents()
5311 if (lastStage == glu::SHADERTYPE_VERTEX || in generateProgramOutputBlockContents()
5312 lastStage == glu::SHADERTYPE_GEOMETRY || in generateProgramOutputBlockContents()
5313 lastStage == glu::SHADERTYPE_TESSELLATION_EVALUATION || in generateProgramOutputBlockContents()
5318 …const ResourceDefinition::Node::SharedPtr variable(new ResourceDefinition::Variable(output, glu::T… in generateProgramOutputBlockContents()
5324 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(structMbr, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputBlockContents()
5330 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputBlockContents()
5334 else if (lastStage == glu::SHADERTYPE_FRAGMENT) in generateProgramOutputBlockContents()
5338 …const ResourceDefinition::Node::SharedPtr variable(new ResourceDefinition::Variable(output, glu::T… in generateProgramOutputBlockContents()
5344 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputBlockContents()
5348 else if (lastStage == glu::SHADERTYPE_TESSELLATION_CONTROL) in generateProgramOutputBlockContents()
5351 …dPtr patchOutput(new ResourceDefinition::StorageQualifier(parentStructure, glu::STORAGE_PATCH_OUT)… in generateProgramOutputBlockContents()
5356 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputBlockContents()
5364 …on::Node::SharedPtr variable (new ResourceDefinition::Variable(patchOutput, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputBlockContents()
5370 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(structMbr, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputBlockContents()
5376 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputBlockContents()
5380 else if (lastStage == glu::SHADERTYPE_COMPUTE) in generateProgramOutputBlockContents()
5430 …ition::Node::SharedPtr(new ResourceDefinition::StorageQualifier(parentStructure, glu::STORAGE_IN))) in generateProgramInputLocationBlockContents()
5432 const glu::ShaderType firstStage = getShaderMaskFirstStage(presentShadersMask); in generateProgramInputLocationBlockContents()
5434 if (firstStage == glu::SHADERTYPE_VERTEX) in generateProgramInputLocationBlockContents()
5438 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(input, glu::T… in generateProgramInputLocationBlockContents()
5443 …efinition::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(input, glu::Layout(2))); in generateProgramInputLocationBlockContents()
5444 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(layout, glu::… in generateProgramInputLocationBlockContents()
5448 else if (firstStage == glu::SHADERTYPE_FRAGMENT || !inDefaultBlock) in generateProgramInputLocationBlockContents()
5452 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(input, glu::T… in generateProgramInputLocationBlockContents()
5457 …efinition::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(input, glu::Layout(2))); in generateProgramInputLocationBlockContents()
5458 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(layout, glu::… in generateProgramInputLocationBlockContents()
5464 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(structMbr, glu::TYPE_FLOAT_VEC4)); in generateProgramInputLocationBlockContents()
5469 …efinition::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(input, glu::Layout(2))); in generateProgramInputLocationBlockContents()
5471 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(structMbr, glu::TYPE_FLOAT_VEC4)); in generateProgramInputLocationBlockContents()
5477 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramInputLocationBlockContents()
5482 …efinition::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(input, glu::Layout(2))); in generateProgramInputLocationBlockContents()
5484 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramInputLocationBlockContents()
5488 else if (firstStage == glu::SHADERTYPE_TESSELLATION_CONTROL || in generateProgramInputLocationBlockContents()
5489 firstStage == glu::SHADERTYPE_GEOMETRY) in generateProgramInputLocationBlockContents()
5496 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramInputLocationBlockContents()
5501 …efinition::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(input, glu::Layout(2))); in generateProgramInputLocationBlockContents()
5503 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramInputLocationBlockContents()
5509 else if (firstStage == glu::SHADERTYPE_TESSELLATION_EVALUATION) in generateProgramInputLocationBlockContents()
5512 …edPtr patchInput(new ResourceDefinition::StorageQualifier(parentStructure, glu::STORAGE_PATCH_IN)); in generateProgramInputLocationBlockContents()
5517 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramInputLocationBlockContents()
5522 …efinition::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(input, glu::Layout(2))); in generateProgramInputLocationBlockContents()
5524 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramInputLocationBlockContents()
5532 …ion::Node::SharedPtr variable (new ResourceDefinition::Variable(patchInput, glu::TYPE_FLOAT_VEC4)); in generateProgramInputLocationBlockContents()
5537 …tion::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(patchInput, glu::Layout(2))); in generateProgramInputLocationBlockContents()
5538 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(layout, glu::… in generateProgramInputLocationBlockContents()
5544 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(structMbr, glu::TYPE_FLOAT_VEC4)); in generateProgramInputLocationBlockContents()
5549 …tion::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(patchInput, glu::Layout(2))); in generateProgramInputLocationBlockContents()
5551 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(structMbr, glu::TYPE_FLOAT_VEC4)); in generateProgramInputLocationBlockContents()
5557 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramInputLocationBlockContents()
5562 …tion::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(patchInput, glu::Layout(2))); in generateProgramInputLocationBlockContents()
5564 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramInputLocationBlockContents()
5568 else if (firstStage == glu::SHADERTYPE_COMPUTE) in generateProgramInputLocationBlockContents()
5580 …tion::Node::SharedPtr(new ResourceDefinition::StorageQualifier(parentStructure, glu::STORAGE_OUT))) in generateProgramOutputLocationBlockContents()
5582 const glu::ShaderType lastStage = getShaderMaskLastStage(presentShadersMask); in generateProgramOutputLocationBlockContents()
5584 if (lastStage == glu::SHADERTYPE_VERTEX || in generateProgramOutputLocationBlockContents()
5585 lastStage == glu::SHADERTYPE_GEOMETRY || in generateProgramOutputLocationBlockContents()
5586 lastStage == glu::SHADERTYPE_TESSELLATION_EVALUATION || in generateProgramOutputLocationBlockContents()
5591 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(output, glu::… in generateProgramOutputLocationBlockContents()
5596 …finition::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(output, glu::Layout(2))); in generateProgramOutputLocationBlockContents()
5597 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(layout, glu::… in generateProgramOutputLocationBlockContents()
5603 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(structMbr, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputLocationBlockContents()
5608 …finition::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(output, glu::Layout(2))); in generateProgramOutputLocationBlockContents()
5610 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(structMbr, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputLocationBlockContents()
5616 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputLocationBlockContents()
5621 …finition::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(output, glu::Layout(2))); in generateProgramOutputLocationBlockContents()
5623 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputLocationBlockContents()
5627 else if (lastStage == glu::SHADERTYPE_FRAGMENT) in generateProgramOutputLocationBlockContents()
5631 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(output, glu::… in generateProgramOutputLocationBlockContents()
5636 …finition::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(output, glu::Layout(2))); in generateProgramOutputLocationBlockContents()
5637 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(layout, glu::… in generateProgramOutputLocationBlockContents()
5643 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputLocationBlockContents()
5648 …finition::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(output, glu::Layout(1))); in generateProgramOutputLocationBlockContents()
5650 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputLocationBlockContents()
5654 else if (lastStage == glu::SHADERTYPE_TESSELLATION_CONTROL) in generateProgramOutputLocationBlockContents()
5657 …dPtr patchOutput(new ResourceDefinition::StorageQualifier(parentStructure, glu::STORAGE_PATCH_OUT)… in generateProgramOutputLocationBlockContents()
5662 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputLocationBlockContents()
5667 …finition::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(output, glu::Layout(2))); in generateProgramOutputLocationBlockContents()
5669 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputLocationBlockContents()
5677 …on::Node::SharedPtr variable (new ResourceDefinition::Variable(patchOutput, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputLocationBlockContents()
5682 …ion::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(patchOutput, glu::Layout(2))); in generateProgramOutputLocationBlockContents()
5683 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(layout, glu::… in generateProgramOutputLocationBlockContents()
5689 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(structMbr, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputLocationBlockContents()
5694 …ion::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(patchOutput, glu::Layout(2))); in generateProgramOutputLocationBlockContents()
5696 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(structMbr, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputLocationBlockContents()
5702 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputLocationBlockContents()
5707 …ion::Node::SharedPtr layout (new ResourceDefinition::LayoutQualifier(patchOutput, glu::Layout(2))); in generateProgramOutputLocationBlockContents()
5709 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateProgramOutputLocationBlockContents()
5713 else if (lastStage == glu::SHADERTYPE_COMPUTE) in generateProgramOutputLocationBlockContents()
5721 …utOutputReferencedByCases (Context& context, tcu::TestCaseGroup* targetGroup, glu::Storage storage) in generateProgramInputOutputReferencedByCases()
5737 if (storage == glu::STORAGE_IN) in generateProgramInputOutputReferencedByCases()
5738 …eferencedByCase(context, "referenced_by_separable_tess_eval_patch_in", "", glu::STORAGE_PATCH_IN, … in generateProgramInputOutputReferencedByCases()
5739 else if (storage == glu::STORAGE_OUT) in generateProgramInputOutputReferencedByCases()
5740 …ferencedByCase(context, "referenced_by_separable_tess_ctrl_patch_out", "", glu::STORAGE_PATCH_OUT,… in generateProgramInputOutputReferencedByCases()
5750 glu::DataType type; in generateProgramInputOutputTypeBasicTypeCases()
5755 { glu::TYPE_FLOAT, false, 0 }, in generateProgramInputOutputTypeBasicTypeCases()
5756 { glu::TYPE_INT, false, 1 }, in generateProgramInputOutputTypeBasicTypeCases()
5757 { glu::TYPE_UINT, false, 1 }, in generateProgramInputOutputTypeBasicTypeCases()
5758 { glu::TYPE_FLOAT_VEC2, false, 2 }, in generateProgramInputOutputTypeBasicTypeCases()
5759 { glu::TYPE_FLOAT_VEC3, false, 1 }, in generateProgramInputOutputTypeBasicTypeCases()
5760 { glu::TYPE_FLOAT_VEC4, false, 2 }, in generateProgramInputOutputTypeBasicTypeCases()
5761 { glu::TYPE_INT_VEC2, false, 0 }, in generateProgramInputOutputTypeBasicTypeCases()
5762 { glu::TYPE_INT_VEC3, false, 2 }, in generateProgramInputOutputTypeBasicTypeCases()
5763 { glu::TYPE_INT_VEC4, false, 2 }, in generateProgramInputOutputTypeBasicTypeCases()
5764 { glu::TYPE_UINT_VEC2, false, 2 }, in generateProgramInputOutputTypeBasicTypeCases()
5765 { glu::TYPE_UINT_VEC3, false, 2 }, in generateProgramInputOutputTypeBasicTypeCases()
5766 { glu::TYPE_UINT_VEC4, false, 0 }, in generateProgramInputOutputTypeBasicTypeCases()
5767 { glu::TYPE_FLOAT_MAT2, true, 2 }, in generateProgramInputOutputTypeBasicTypeCases()
5768 { glu::TYPE_FLOAT_MAT2X3, true, 2 }, in generateProgramInputOutputTypeBasicTypeCases()
5769 { glu::TYPE_FLOAT_MAT2X4, true, 2 }, in generateProgramInputOutputTypeBasicTypeCases()
5770 { glu::TYPE_FLOAT_MAT3X2, true, 0 }, in generateProgramInputOutputTypeBasicTypeCases()
5771 { glu::TYPE_FLOAT_MAT3, true, 2 }, in generateProgramInputOutputTypeBasicTypeCases()
5772 { glu::TYPE_FLOAT_MAT3X4, true, 2 }, in generateProgramInputOutputTypeBasicTypeCases()
5773 { glu::TYPE_FLOAT_MAT4X2, true, 2 }, in generateProgramInputOutputTypeBasicTypeCases()
5774 { glu::TYPE_FLOAT_MAT4X3, true, 2 }, in generateProgramInputOutputTypeBasicTypeCases()
5775 { glu::TYPE_FLOAT_MAT4, true, 2 }, in generateProgramInputOutputTypeBasicTypeCases()
5795 …ition::Node::SharedPtr(new ResourceDefinition::StorageQualifier(parentStructure, glu::STORAGE_IN))) in generateProgramInputTypeBlockContents()
5797 const glu::ShaderType firstStage = getShaderMaskFirstStage(presentShadersMask); in generateProgramInputTypeBlockContents()
5800 if (firstStage == glu::SHADERTYPE_VERTEX) in generateProgramInputTypeBlockContents()
5805 else if (firstStage == glu::SHADERTYPE_FRAGMENT || !inDefaultBlock) in generateProgramInputTypeBlockContents()
5807 …haredPtr flatShading(new ResourceDefinition::InterpolationQualifier(input, glu::INTERPOLATION_FLAT… in generateProgramInputTypeBlockContents()
5830 else if (firstStage == glu::SHADERTYPE_TESSELLATION_CONTROL || in generateProgramInputTypeBlockContents()
5831 firstStage == glu::SHADERTYPE_GEOMETRY) in generateProgramInputTypeBlockContents()
5839 else if (firstStage == glu::SHADERTYPE_TESSELLATION_EVALUATION) in generateProgramInputTypeBlockContents()
5842 …edPtr patchInput(new ResourceDefinition::StorageQualifier(parentStructure, glu::STORAGE_PATCH_IN)); in generateProgramInputTypeBlockContents()
5879 else if (firstStage == glu::SHADERTYPE_COMPUTE) in generateProgramInputTypeBlockContents()
5891 …tion::Node::SharedPtr(new ResourceDefinition::StorageQualifier(parentStructure, glu::STORAGE_OUT))) in generateProgramOutputTypeBlockContents()
5893 const glu::ShaderType lastStage = getShaderMaskLastStage(presentShadersMask); in generateProgramOutputTypeBlockContents()
5896 if (lastStage == glu::SHADERTYPE_VERTEX || in generateProgramOutputTypeBlockContents()
5897 lastStage == glu::SHADERTYPE_GEOMETRY || in generateProgramOutputTypeBlockContents()
5898 lastStage == glu::SHADERTYPE_TESSELLATION_EVALUATION || in generateProgramOutputTypeBlockContents()
5901 …aredPtr flatShading(new ResourceDefinition::InterpolationQualifier(output, glu::INTERPOLATION_FLAT… in generateProgramOutputTypeBlockContents()
5912 …const int typeExpansionReducement = (lastStage != glu::SHADERTYPE_VERTEX) ? (1) : (0); // … in generateProgramOutputTypeBlockContents()
5921 …const int typeExpansionReducement = (lastStage != glu::SHADERTYPE_VERTEX) ? (1) : (0); // … in generateProgramOutputTypeBlockContents()
5928 else if (lastStage == glu::SHADERTYPE_FRAGMENT) in generateProgramOutputTypeBlockContents()
5944 else if (lastStage == glu::SHADERTYPE_TESSELLATION_CONTROL) in generateProgramOutputTypeBlockContents()
5947 …dPtr patchOutput(new ResourceDefinition::StorageQualifier(parentStructure, glu::STORAGE_PATCH_OUT)… in generateProgramOutputTypeBlockContents()
5984 else if (lastStage == glu::SHADERTYPE_COMPUTE) in generateProgramOutputTypeBlockContents()
6006 …const glu::GLSLVersion glslVersion = glu::getContextTypeGLSLVersion(m_context.getRenderContext().g… in init()
6040 generateProgramInputOutputReferencedByCases(m_context, blockGroup, glu::STORAGE_IN); in init()
6072 …const glu::GLSLVersion glslVersion = glu::getContextTypeGLSLVersion(m_context.getRenderContext().g… in init()
6106 generateProgramInputOutputReferencedByCases(m_context, blockGroup, glu::STORAGE_OUT); in init()
6124 …edbackShaderCaseBlocks (Context& context, tcu::TestCaseGroup* targetGroup, glu::GLSLVersion glslVe… in generateTransformFeedbackShaderCaseBlocks()
6136 (1 << glu::SHADERTYPE_VERTEX) | (1 << glu::SHADERTYPE_FRAGMENT), in generateTransformFeedbackShaderCaseBlocks()
6137 (1 << glu::SHADERTYPE_VERTEX), in generateTransformFeedbackShaderCaseBlocks()
6142 …(1 << glu::SHADERTYPE_VERTEX) | (1 << glu::SHADERTYPE_FRAGMENT) | (1 << glu::SHADERTYPE_TESSELLATI… in generateTransformFeedbackShaderCaseBlocks()
6143 (1 << glu::SHADERTYPE_TESSELLATION_EVALUATION), in generateTransformFeedbackShaderCaseBlocks()
6148 … (1 << glu::SHADERTYPE_VERTEX) | (1 << glu::SHADERTYPE_FRAGMENT) | (1 << glu::SHADERTYPE_GEOMETRY), in generateTransformFeedbackShaderCaseBlocks()
6149 (1 << glu::SHADERTYPE_GEOMETRY), in generateTransformFeedbackShaderCaseBlocks()
6154glu::SHADERTYPE_VERTEX) | (1 << glu::SHADERTYPE_FRAGMENT) | (1 << glu::SHADERTYPE_TESSELLATION_CON… in generateTransformFeedbackShaderCaseBlocks()
6155 (1 << glu::SHADERTYPE_GEOMETRY), in generateTransformFeedbackShaderCaseBlocks()
6162 glu::ShaderType stage; in generateTransformFeedbackShaderCaseBlocks()
6166 { "separable_vertex", glu::SHADERTYPE_VERTEX, false }, in generateTransformFeedbackShaderCaseBlocks()
6167 { "separable_tess_eval", glu::SHADERTYPE_TESSELLATION_EVALUATION, true }, in generateTransformFeedbackShaderCaseBlocks()
6168 { "separable_geometry", glu::SHADERTYPE_GEOMETRY, true }, in generateTransformFeedbackShaderCaseBlocks()
6200 …ode::SharedPtr output (new ResourceDefinition::StorageQualifier(defaultBlock, glu::STORAGE_OUT)); in generateTransformFeedbackResourceListBlockContents()
6212 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(xfbTarget, glu::TYPE_FLOAT_VEC4)); in generateTransformFeedbackResourceListBlockContents()
6219 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(xfbTarget, glu::TYPE_FLOAT_VEC4)); in generateTransformFeedbackResourceListBlockContents()
6226 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateTransformFeedbackResourceListBlockContents()
6233 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(xfbTarget, glu::TYPE_FLOAT_VEC4)); in generateTransformFeedbackResourceListBlockContents()
6242 …ode::SharedPtr output (new ResourceDefinition::StorageQualifier(defaultBlock, glu::STORAGE_OUT)); in generateTransformFeedbackVariableBlockContents()
6254 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(xfbTarget, glu::TYPE_FLOAT_VEC4)); in generateTransformFeedbackVariableBlockContents()
6261 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(xfbTarget, glu::TYPE_FLOAT_VEC4)); in generateTransformFeedbackVariableBlockContents()
6268 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(arrayElem, glu::TYPE_FLOAT_VEC4)); in generateTransformFeedbackVariableBlockContents()
6275 …tion::Node::SharedPtr variable (new ResourceDefinition::Variable(xfbTarget, glu::TYPE_FLOAT_VEC4)); in generateTransformFeedbackVariableBlockContents()
6284 glu::DataType type; in generateTransformFeedbackVariableBasicTypeCases()
6288 { glu::TYPE_FLOAT, true }, in generateTransformFeedbackVariableBasicTypeCases()
6289 { glu::TYPE_INT, true }, in generateTransformFeedbackVariableBasicTypeCases()
6290 { glu::TYPE_UINT, true }, in generateTransformFeedbackVariableBasicTypeCases()
6292 { glu::TYPE_FLOAT_VEC2, false }, in generateTransformFeedbackVariableBasicTypeCases()
6293 { glu::TYPE_FLOAT_VEC3, true }, in generateTransformFeedbackVariableBasicTypeCases()
6294 { glu::TYPE_FLOAT_VEC4, false }, in generateTransformFeedbackVariableBasicTypeCases()
6296 { glu::TYPE_INT_VEC2, false }, in generateTransformFeedbackVariableBasicTypeCases()
6297 { glu::TYPE_INT_VEC3, true }, in generateTransformFeedbackVariableBasicTypeCases()
6298 { glu::TYPE_INT_VEC4, false }, in generateTransformFeedbackVariableBasicTypeCases()
6300 { glu::TYPE_UINT_VEC2, true }, in generateTransformFeedbackVariableBasicTypeCases()
6301 { glu::TYPE_UINT_VEC3, false }, in generateTransformFeedbackVariableBasicTypeCases()
6302 { glu::TYPE_UINT_VEC4, false }, in generateTransformFeedbackVariableBasicTypeCases()
6304 { glu::TYPE_FLOAT_MAT2, false }, in generateTransformFeedbackVariableBasicTypeCases()
6305 { glu::TYPE_FLOAT_MAT2X3, false }, in generateTransformFeedbackVariableBasicTypeCases()
6306 { glu::TYPE_FLOAT_MAT2X4, false }, in generateTransformFeedbackVariableBasicTypeCases()
6307 { glu::TYPE_FLOAT_MAT3X2, false }, in generateTransformFeedbackVariableBasicTypeCases()
6308 { glu::TYPE_FLOAT_MAT3, false }, in generateTransformFeedbackVariableBasicTypeCases()
6309 { glu::TYPE_FLOAT_MAT3X4, true }, in generateTransformFeedbackVariableBasicTypeCases()
6310 { glu::TYPE_FLOAT_MAT4X2, false }, in generateTransformFeedbackVariableBasicTypeCases()
6311 { glu::TYPE_FLOAT_MAT4X3, false }, in generateTransformFeedbackVariableBasicTypeCases()
6312 { glu::TYPE_FLOAT_MAT4, false }, in generateTransformFeedbackVariableBasicTypeCases()
6328 …ode::SharedPtr output (new ResourceDefinition::StorageQualifier(defaultBlock, glu::STORAGE_OUT)); in generateTransformFeedbackVariableTypeBlockContents()
6329 …edPtr flatShading (new ResourceDefinition::InterpolationQualifier(output, glu::INTERPOLATION_FLAT… in generateTransformFeedbackVariableTypeBlockContents()
6386 …const glu::GLSLVersion glslVersion = glu::getContextTypeGLSLVersion(m_context.getRenderContext().g… in init()
6417 …riableBufferCaseBlocks (Context& context, tcu::TestCaseGroup* targetGroup, glu::GLSLVersion glslVe… in generateBufferVariableBufferCaseBlocks()
6420 …const ResourceDefinition::Node::SharedPtr shader (new ResourceDefinition::Shader(program, glu::S… in generateBufferVariableBufferCaseBlocks()
6422 …redPtr bufferStorage (new ResourceDefinition::StorageQualifier(defaultBlock, glu::STORAGE_BUFFER)); in generateBufferVariableBufferCaseBlocks()
6423 …::SharedPtr binding (new ResourceDefinition::LayoutQualifier(bufferStorage, glu::Layout(-1, 0))); in generateBufferVariableBufferCaseBlocks()
6486 …gateCases(context, parentStructure, aggregateGroup, queryTarget.interface, glu::TYPE_FLOAT, (exten… in generateBufferVariableArraySizeSubCases()
6489 …gateCases(context, parentStructure, aggregateGroup, queryTarget.interface, glu::TYPE_BOOL, (extend… in generateBufferVariableArraySizeSubCases()
6492 …gateCases(context, parentStructure, aggregateGroup, queryTarget.interface, glu::TYPE_BOOL_VEC3, (e… in generateBufferVariableArraySizeSubCases()
6495 …gateCases(context, parentStructure, aggregateGroup, queryTarget.interface, glu::TYPE_FLOAT_VEC4, (… in generateBufferVariableArraySizeSubCases()
6498 …gateCases(context, parentStructure, aggregateGroup, queryTarget.interface, glu::TYPE_INT_VEC2, (ex… in generateBufferVariableArraySizeSubCases()
6535 static void generateBufferVariableBlockIndexCases (Context& context, glu::GLSLVersion glslVersion, … in generateBufferVariableBlockIndexCases()
6538 …const ResourceDefinition::Node::SharedPtr shader (new ResourceDefinition::Shader(program, glu::S… in generateBufferVariableBlockIndexCases()
6540 …redPtr bufferStorage (new ResourceDefinition::StorageQualifier(defaultBlock, glu::STORAGE_BUFFER)); in generateBufferVariableBlockIndexCases()
6541 …::SharedPtr binding (new ResourceDefinition::LayoutQualifier(bufferStorage, glu::Layout(-1, 0))); in generateBufferVariableBlockIndexCases()
6546 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(buffer, glu::… in generateBufferVariableBlockIndexCases()
6554 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(buffer, glu::… in generateBufferVariableBlockIndexCases()
6563 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(buffer, glu:… in generateBufferVariableBlockIndexCases()
6569 …MatrixCaseBlocks (Context& context, tcu::TestCaseGroup* const targetGroup, glu::GLSLVersion glslVe… in generateBufferVariableMatrixCaseBlocks()
6577 glu::MatrixOrder order; in generateBufferVariableMatrixCaseBlocks()
6580 { "named_block", "Named uniform block", true, true, glu::MATRIXORDER_LAST }, in generateBufferVariableMatrixCaseBlocks()
6581 { "named_block_row_major", "Named uniform block", true, false, glu::MATRIXORDER_ROW_MAJOR }, in generateBufferVariableMatrixCaseBlocks()
6582 { "named_block_col_major", "Named uniform block", true, false, glu::MATRIXORDER_COLUMN_MAJOR }, in generateBufferVariableMatrixCaseBlocks()
6583 { "unnamed_block", "Unnamed uniform block", false, false, glu::MATRIXORDER_LAST }, in generateBufferVariableMatrixCaseBlocks()
6584 { "unnamed_block_row_major", "Unnamed uniform block", false, false, glu::MATRIXORDER_ROW_MAJOR }, in generateBufferVariableMatrixCaseBlocks()
6585 …{ "unnamed_block_col_major", "Unnamed uniform block", false, false, glu::MATRIXORDER_COLUMN_MAJOR … in generateBufferVariableMatrixCaseBlocks()
6589 …const ResourceDefinition::Node::SharedPtr shader (new ResourceDefinition::Shader(program, glu::S… in generateBufferVariableMatrixCaseBlocks()
6591 …::SharedPtr buffer (new ResourceDefinition::StorageQualifier(defaultBlock, glu::STORAGE_BUFFER)); in generateBufferVariableMatrixCaseBlocks()
6600 if (children[childNdx].order != glu::MATRIXORDER_LAST) in generateBufferVariableMatrixCaseBlocks()
6602 glu::Layout layout; in generateBufferVariableMatrixCaseBlocks()
6617 static const glu::DataType variableTypes[] = in generateBufferVariableMatrixVariableBasicTypeCases()
6619 glu::TYPE_FLOAT, in generateBufferVariableMatrixVariableBasicTypeCases()
6620 glu::TYPE_INT_VEC3, in generateBufferVariableMatrixVariableBasicTypeCases()
6621 glu::TYPE_FLOAT_MAT2, in generateBufferVariableMatrixVariableBasicTypeCases()
6622 glu::TYPE_FLOAT_MAT2X3, in generateBufferVariableMatrixVariableBasicTypeCases()
6623 glu::TYPE_FLOAT_MAT2X4, in generateBufferVariableMatrixVariableBasicTypeCases()
6624 glu::TYPE_FLOAT_MAT3X2, in generateBufferVariableMatrixVariableBasicTypeCases()
6625 glu::TYPE_FLOAT_MAT3, in generateBufferVariableMatrixVariableBasicTypeCases()
6626 glu::TYPE_FLOAT_MAT3X4, in generateBufferVariableMatrixVariableBasicTypeCases()
6627 glu::TYPE_FLOAT_MAT4X2, in generateBufferVariableMatrixVariableBasicTypeCases()
6628 glu::TYPE_FLOAT_MAT4X3, in generateBufferVariableMatrixVariableBasicTypeCases()
6629 glu::TYPE_FLOAT_MAT4, in generateBufferVariableMatrixVariableBasicTypeCases()
6642 …arentStructure, targetGroup, PROGRAMINTERFACE_BUFFER_VARIABLE, targetProp, glu::TYPE_FLOAT_MAT3X2,… in generateBufferVariableMatrixVariableCases()
6647 …const ResourceDefinition::Node::SharedPtr variable (new ResourceDefinition::Variable(unsized, glu:… in generateBufferVariableMatrixVariableCases()
6673 …sourceDefinition::LayoutQualifier(parentStructure, glu::Layout(-1, -1, -1, glu::FORMATLAYOUT_LAST,… in generateBufferVariableMatrixCases()
6682 …sourceDefinition::LayoutQualifier(parentStructure, glu::Layout(-1, -1, -1, glu::FORMATLAYOUT_LAST,… in generateBufferVariableMatrixCases()
6697 …kGroup, PROGRAMINTERFACE_BUFFER_VARIABLE, PROGRAMRESOURCEPROP_NAME_LENGTH, glu::TYPE_FLOAT, "", 3); in generateBufferVariableNameLengthCases()
6706 …kGroup, PROGRAMINTERFACE_BUFFER_VARIABLE, PROGRAMRESOURCEPROP_NAME_LENGTH, glu::TYPE_FLOAT, "", 2); in generateBufferVariableNameLengthCases()
6717 … blockGroup, PROGRAMINTERFACE_BUFFER_VARIABLE, PROGRAMRESOURCEPROP_OFFSET, glu::TYPE_FLOAT, "", 3); in generateBufferVariableOffsetCases()
6726 … blockGroup, PROGRAMINTERFACE_BUFFER_VARIABLE, PROGRAMRESOURCEPROP_OFFSET, glu::TYPE_FLOAT, "", 2); in generateBufferVariableOffsetCases()
6736 …:SharedPtr storage (new ResourceDefinition::StorageQualifier(defaultBlock, glu::STORAGE_BUFFER)); in generateBufferVariableReferencedByBlockContents()
6775 …arentStructure, targetGroup, PROGRAMINTERFACE_BUFFER_VARIABLE, TargetProp, glu::TYPE_FLOAT_VEC4, "… in generateBufferVariableTopLevelCases()
6781 …ntext, unsized, targetGroup, PROGRAMINTERFACE_BUFFER_VARIABLE, TargetProp, glu::TYPE_FLOAT_VEC4, "… in generateBufferVariableTopLevelCases()
6790 glu::DataType dataType; in generateBufferVariableTypeBasicTypeCases()
6793 { 0, glu::TYPE_FLOAT }, in generateBufferVariableTypeBasicTypeCases()
6794 { 1, glu::TYPE_INT }, in generateBufferVariableTypeBasicTypeCases()
6795 { 1, glu::TYPE_UINT }, in generateBufferVariableTypeBasicTypeCases()
6796 { 1, glu::TYPE_BOOL }, in generateBufferVariableTypeBasicTypeCases()
6798 { 3, glu::TYPE_FLOAT_VEC2 }, in generateBufferVariableTypeBasicTypeCases()
6799 { 1, glu::TYPE_FLOAT_VEC3 }, in generateBufferVariableTypeBasicTypeCases()
6800 { 1, glu::TYPE_FLOAT_VEC4 }, in generateBufferVariableTypeBasicTypeCases()
6802 { 3, glu::TYPE_INT_VEC2 }, in generateBufferVariableTypeBasicTypeCases()
6803 { 2, glu::TYPE_INT_VEC3 }, in generateBufferVariableTypeBasicTypeCases()
6804 { 3, glu::TYPE_INT_VEC4 }, in generateBufferVariableTypeBasicTypeCases()
6806 { 3, glu::TYPE_UINT_VEC2 }, in generateBufferVariableTypeBasicTypeCases()
6807 { 2, glu::TYPE_UINT_VEC3 }, in generateBufferVariableTypeBasicTypeCases()
6808 { 3, glu::TYPE_UINT_VEC4 }, in generateBufferVariableTypeBasicTypeCases()
6810 { 3, glu::TYPE_BOOL_VEC2 }, in generateBufferVariableTypeBasicTypeCases()
6811 { 2, glu::TYPE_BOOL_VEC3 }, in generateBufferVariableTypeBasicTypeCases()
6812 { 3, glu::TYPE_BOOL_VEC4 }, in generateBufferVariableTypeBasicTypeCases()
6814 { 2, glu::TYPE_FLOAT_MAT2 }, in generateBufferVariableTypeBasicTypeCases()
6815 { 3, glu::TYPE_FLOAT_MAT2X3 }, in generateBufferVariableTypeBasicTypeCases()
6816 { 3, glu::TYPE_FLOAT_MAT2X4 }, in generateBufferVariableTypeBasicTypeCases()
6817 { 2, glu::TYPE_FLOAT_MAT3X2 }, in generateBufferVariableTypeBasicTypeCases()
6818 { 2, glu::TYPE_FLOAT_MAT3 }, in generateBufferVariableTypeBasicTypeCases()
6819 { 3, glu::TYPE_FLOAT_MAT3X4 }, in generateBufferVariableTypeBasicTypeCases()
6820 { 2, glu::TYPE_FLOAT_MAT4X2 }, in generateBufferVariableTypeBasicTypeCases()
6821 { 3, glu::TYPE_FLOAT_MAT4X3 }, in generateBufferVariableTypeBasicTypeCases()
6822 { 2, glu::TYPE_FLOAT_MAT4 }, in generateBufferVariableTypeBasicTypeCases()
6871 static void generateBufferVariableTypeBlock (Context& context, tcu::TestCaseGroup* targetGroup, glu in generateBufferVariableTypeBlock()
6874 …const ResourceDefinition::Node::SharedPtr shader (new ResourceDefinition::Shader(program, glu::S… in generateBufferVariableTypeBlock()
6876 …::SharedPtr buffer (new ResourceDefinition::StorageQualifier(defaultBlock, glu::STORAGE_BUFFER)); in generateBufferVariableTypeBlock()
6882 …riableRandomCase (Context& context, tcu::TestCaseGroup* const targetGroup, glu::GLSLVersion glslVe… in generateBufferVariableRandomCase()
6886 const glu::DataType type = generateRandomDataType(rnd, true); in generateBufferVariableRandomCase()
6887 const glu::Layout layout = generateRandomVariableLayout(rnd, type, true); in generateBufferVariableRandomCase()
6890 …:SharedPtr buffer (new ResourceDefinition::StorageQualifier(defaultBlock, glu::STORAGE_BUFFER)); in generateBufferVariableRandomCase()
6903 …iableRandomCases (Context& context, tcu::TestCaseGroup* const targetGroup, glu::GLSLVersion glslVe… in generateBufferVariableRandomCases()
6928 …const glu::GLSLVersion glslVersion = glu::getContextTypeGLSLVersion(m_context.getRenderContext().g… in init()
7053 addChild(new BufferBackedBlockInterfaceTestGroup(m_context, glu::STORAGE_UNIFORM)); in init()
7071 addChild(new BufferBackedBlockInterfaceTestGroup(m_context, glu::STORAGE_BUFFER)); in init()