Lines Matching defs:program

173 	virtual void					validate						(const ProgramInterfaceDefinition::Program* program, const std::string& resource, glw::GLint propValue, const std::string& implementationName) const = 0;
229 void validate (const ProgramInterfaceDefinition::Program* program, const std::string& resource, glw::GLint propValue, const std::string& implementationName) const;
245 void SingleVariableValidator::validate (const ProgramInterfaceDefinition::Program* program, const std::string& resource, glw::GLint propValue, const std::string& implementationName) const
249 if (findProgramVariablePathByPathName(path, program, resource, m_filter))
289 void validate (const ProgramInterfaceDefinition::Program* program, const std::string& resource, glw::GLint propValue, const std::string& implementationName) const;
304 void SingleBlockValidator::validate (const ProgramInterfaceDefinition::Program* program, const std::string& resource, glw::GLint propValue, const std::string& implementationName) const
329 for (int shaderNdx = 0; shaderNdx < (int)program->getShaders().size(); ++shaderNdx)
331 const ProgramInterfaceDefinition::Shader* const shader = program->getShaders()[shaderNdx];
1139 void validate (const ProgramInterfaceDefinition::Program* program, const std::string& resource, glw::GLint propValue, const std::string& implementationName) const;
1159 void VariableReferencedByShaderValidator::validate (const ProgramInterfaceDefinition::Program* program, const std::string& resource, glw::GLint propValue, const std::string& implementationName) const
1164 const bool referencedByShader = findProgramVariablePathByPathName(unusedPath, program, resource, m_filter);
1264 void validate (const ProgramInterfaceDefinition::Program* program, const std::string& resource, glw::GLint propValue, const std::string& implementationName) const;
1284 void BlockReferencedByShaderValidator::validate (const ProgramInterfaceDefinition::Program* program, const std::string& resource, glw::GLint propValue, const std::string& implementationName) const
1291 for (int shaderNdx = 0; shaderNdx < (int)program->getShaders().size(); ++shaderNdx)
1293 const ProgramInterfaceDefinition::Shader* const shader = program->getShaders()[shaderNdx];
1429 void validate (const ProgramInterfaceDefinition::Program* program, const std::string& resource, glw::GLint propValue, const std::string& implementationName) const;
1442 void TransformFeedbackResourceValidator::validate (const ProgramInterfaceDefinition::Program* program, const std::string& resource, glw::GLint propValue, const std::string& implementationName) const
1455 for (int varyingNdx = 0; varyingNdx < (int)program->getTransformFeedbackVaryings().size(); ++varyingNdx)
1457 const std::string varyingName = program->getTransformFeedbackVaryings()[varyingNdx];
1461 if (!findProgramVariablePathByPathName(path, program, varyingName, VariableSearchFilter::createShaderTypeStorageFilter(getProgramTransformFeedbackStage(program), glu::STORAGE_OUT)))
1463 // program does not contain feedback varying, not valid program
1486 if (!findProgramVariablePathByPathName(path, program, resource, VariableSearchFilter::createShaderTypeStorageFilter(getProgramTransformFeedbackStage(program), glu::STORAGE_OUT)))
1622 // Unlike other interfaces, xfb program interface uses just variable name to refer to arrays of basic types. (Others use "variable[0]")
1763 static bool isInterfaceBlockInterfaceName (const ProgramInterfaceDefinition::Program* program, ProgramInterface interface, const std::string& blockInterfaceName)
1780 searchStageBits = (1u << program->getFirstStage());
1785 searchStageBits = (1u << program->getLastStage());
1790 searchStageBits = (1u << getProgramTransformFeedbackStage(program));
1808 for (int shaderNdx = 0; shaderNdx < (int)program->getShaders().size(); ++shaderNdx)
1810 const ProgramInterfaceDefinition::Shader* const shader = program->getShaders()[shaderNdx];
1828 static std::string getInterfaceBlockInteraceNameByMember (const ProgramInterfaceDefinition::Program* program, ProgramInterface interface, const std::string& memberName)
1845 searchStageBits = (1u << program->getFirstStage());
1850 searchStageBits = (1u << program->getLastStage());
1855 searchStageBits = (1u << getProgramTransformFeedbackStage(program));
1873 for (int shaderNdx = 0; shaderNdx < (int)program->getShaders().size(); ++shaderNdx)
1875 const ProgramInterfaceDefinition::Shader* const shader = program->getShaders()[shaderNdx];
2147 glu::ShaderProgram program (m_context.getRenderContext(), generateProgramInterfaceProgramSources(programDefinition));
2151 // Log program
2169 m_testCtx.getLog() << program;
2170 if (!program.isOk())
2172 m_testCtx.getLog() << tcu::TestLog::Message << "Program build failed, checking if program exceeded implementation limits" << tcu::TestLog::EndMessage;
2176 throw tcu::TestError("could not build program");
2188 const TypeValidator typeValidator (m_context, program.getProgram(), uniformFilter);
2189 const ArraySizeValidator arraySizeValidator (m_context, program.getProgram(), -1, uniformFilter);
2190 const ArrayStrideValidator arrayStrideValidator (m_context, program.getProgram(), uniformFilter);
2191 const BlockIndexValidator blockIndexValidator (m_context, program.getProgram(), uniformFilter);
2192 const IsRowMajorValidator isRowMajorValidator (m_context, program.getProgram(), uniformFilter);
2193 const MatrixStrideValidator matrixStrideValidator (m_context, program.getProgram(), uniformFilter);
2194 const AtomicCounterBufferIndexVerifier atomicCounterBufferIndexVerifier (m_context, program.getProgram(), uniformFilter);
2195 const LocationValidator locationValidator (m_context, program.getProgram(), uniformFilter);
2196 const VariableNameLengthValidator nameLengthValidator (m_context, program.getProgram(), uniformFilter);
2197 const OffsetValidator offsetVerifier (m_context, program.getProgram(), uniformFilter);
2244 queryAndValidateProps(m_testCtx, gl, program.getProgram(), m_queryTarget.interface, targetResources[targetResourceNdx].c_str(), programDefinition, props, validators);
2256 const BlockNameLengthValidator nameLengthValidator (m_context, program.getProgram(), blockFilter);
2263 const BufferBindingValidator bufferBindingValidator (m_context, program.getProgram(), blockFilter);
2296 queryAndValidateProps(m_testCtx, gl, program.getProgram(), m_queryTarget.interface, targetResources[targetResourceNdx].c_str(), programDefinition, props, validators);
2318 const TypeValidator typeValidator (m_context, program.getProgram(), variableFilter);
2319 const ArraySizeValidator arraySizeValidator (m_context, program.getProgram(), unsizedArraySize, variableFilter);
2320 const LocationValidator locationValidator (m_context, program.getProgram(), variableFilter);
2321 const VariableNameLengthValidator nameLengthValidator (m_context, program.getProgram(), variableFilter);
2328 const PerPatchValidator perPatchValidator (m_context, program.getProgram(), variableFilter);
2365 queryAndValidateProps(m_testCtx, gl, program.getProgram(), m_queryTarget.interface, targetResources[targetResourceNdx].c_str(), programDefinition, props, validators);
2375 const TypeValidator typeValidator (m_context, program.getProgram(), variableFilter);
2376 const ArraySizeValidator arraySizeValidator (m_context, program.getProgram(), 0, variableFilter);
2377 const ArrayStrideValidator arrayStrideValidator (m_context, program.getProgram(), variableFilter);
2378 const BlockIndexValidator blockIndexValidator (m_context, program.getProgram(), variableFilter);
2379 const IsRowMajorValidator isRowMajorValidator (m_context, program.getProgram(), variableFilter);
2380 const MatrixStrideValidator matrixStrideValidator (m_context, program.getProgram(), variableFilter);
2381 const OffsetValidator offsetValidator (m_context, program.getProgram(), variableFilter);
2382 const VariableNameLengthValidator nameLengthValidator (m_context, program.getProgram(), variableFilter);
2389 const TopLevelArraySizeValidator topLevelArraySizeValidator (m_context, program.getProgram(), variableFilter);
2390 const TopLevelArrayStrideValidator topLevelArrayStrideValidator (m_context, program.getProgram(), variableFilter);
2431 queryAndValidateProps(m_testCtx, gl, program.getProgram(), m_queryTarget.interface, targetResources[targetResourceNdx].c_str(), programDefinition, props, validators);
2469 queryAndValidateProps(m_testCtx, gl, program.getProgram(), m_queryTarget.interface, targetResources[targetResourceNdx].c_str(), programDefinition, props, validators);
2502 static bool checkShaderResourceUsage (const ProgramInterfaceDefinition::Program* program, const ProgramInterfaceDefinition::Shader* shader, const glw::Functions& gl, tcu::TestLog& log)
2504 const ProgramInterfaceDefinition::ShaderResourceUsage usage = getShaderResourceUsage(program, shader);
2596 const int totalOutputComponents = program->getGeometryNumOutputVertices() * usage.numOutputComponents;
2607 { GL_MAX_GEOMETRY_OUTPUT_VERTICES, (int)program->getGeometryNumOutputVertices() },
2627 const int totalOutputComponents = program->getTessellationNumOutputPatchVertices() * usage.numOutputComponents + usage.numPatchOutputComponents;
2634 { GL_MAX_PATCH_VERTICES, (int)program->getTessellationNumOutputPatchVertices() },
2665 { GL_MAX_PATCH_VERTICES, (int)program->getTessellationNumOutputPatchVertices() },
2693 static bool checkProgramCombinedResourceUsage (const ProgramInterfaceDefinition::Program* program, const glw::Functions& gl, tcu::TestLog& log)
2695 const ProgramInterfaceDefinition::ProgramResourceUsage usage = getCombinedProgramResourceUsage(program);
2739 void checkProgramResourceUsage (const ProgramInterfaceDefinition::Program* program, const glw::Functions& gl, tcu::TestLog& log)
2743 for (int shaderNdx = 0; shaderNdx < (int)program->getShaders().size(); ++shaderNdx)
2744 limitExceeded |= !checkShaderResourceUsage(program, program->getShaders()[shaderNdx], gl, log);
2746 limitExceeded |= !checkProgramCombinedResourceUsage(program, gl, log);