Home | History | Annotate | Download | only in functional

Lines Matching refs:Program

2  * drawElements Quality Program OpenGL ES 3.1 Module
21 * \brief Program interface utilities
128 bool programContainsIOBlocks (const ProgramInterfaceDefinition::Program* program)
130 for (int shaderNdx = 0; shaderNdx < (int)program->getShaders().size(); ++shaderNdx)
132 if (shaderContainsIOBlocks(program->getShaders()[shaderNdx]))
155 glu::ShaderType getProgramTransformFeedbackStage (const ProgramInterfaceDefinition::Program* program)
157 if (program->hasStage(glu::SHADERTYPE_GEOMETRY))
160 if (program->hasStage(glu::SHADERTYPE_TESSELLATION_EVALUATION))
163 if (program->hasStage(glu::SHADERTYPE_VERTEX))
211 // Program source generation
242 static std::string getShaderTypeDeclarations (const ProgramInterfaceDefinition::Program* program, glu::ShaderType type)
256 "layout(points, max_vertices=" << program->getGeometryNumOutputVertices() << ") out;\n";
263 buf << "layout(vertices=" << program->getTessellationNumOutputPatchVertices() << ") out;\n";
394 const ProgramInterfaceDefinition::Program* program,
428 program,
441 program,
452 program,
467 program,
478 program,
484 DE_ASSERT(program->getTessellationNumOutputPatchVertices() > 0);
485 for (int ndx = 0; ndx < (int)program->getTessellationNumOutputPatchVertices(); ++ndx)
492 program,
508 const ProgramInterfaceDefinition::Program* program)
521 program,
546 program,
563 const ProgramInterfaceDefinition::Program* program,
587 program,
600 program,
611 program,
626 program,
641 const ProgramInterfaceDefinition::Program* program)
654 program,
679 program,
800 static bool traverseProgramVariablePath (std::vector<VariablePathComponent>& typePath, const ProgramInterfaceDefinition::Program* program, const std::string& path, const VariableSearchFilter& filter)
802 for (int shaderNdx = 0; shaderNdx < (int)program->getShaders().size(); ++shaderNdx)
804 const ProgramInterfaceDefinition::Shader* shader = program->getShaders()[shaderNdx];
1190 static int getNumFeedbackVaryingComponents (const ProgramInterfaceDefinition::Program* program, const std::string& name)
1199 if (!traverseProgramVariablePath(path, program, name, VariableSearchFilter::createShaderTypeStorageFilter(getProgramTransformFeedbackStage(program), glu::STORAGE_OUT)))
1200 DE_ASSERT(false); // Program failed validate, invalid operation
1205 static int getNumXFBComponents (const ProgramInterfaceDefinition::Program* program)
1209 for (int ndx = 0; ndx < (int)program->getTransformFeedbackVaryings().size(); ++ndx)
1210 numComponents += getNumFeedbackVaryingComponents(program, program->getTransformFeedbackVaryings()[ndx]);
1215 static int getNumMaxXFBOutputComponents (const ProgramInterfaceDefinition::Program* program)
1219 for (int ndx = 0; ndx < (int)program->getTransformFeedbackVaryings().size(); ++ndx)
1220 numComponents = de::max(numComponents, getNumFeedbackVaryingComponents(program, program->getTransformFeedbackVaryings()[ndx]));
1274 std::vector<std::string> getProgramInterfaceResourceList (const ProgramInterfaceDefinition::Program* program, ProgramInterface interface)
1290 for (int shaderNdx = 0; shaderNdx < (int)program->getShaders().size(); ++shaderNdx)
1292 const ProgramInterfaceDefinition::Shader* shader = program->getShaders()[shaderNdx];
1319 for (int shaderNdx = 0; shaderNdx < (int)program->getShaders().size(); ++shaderNdx)
1321 const ProgramInterfaceDefinition::Shader* shader = program->getShaders()[shaderNdx];
1357 const glu::ShaderType shaderType = (interface == PROGRAMINTERFACE_PROGRAM_INPUT) ? (program->getFirstStage()) : (program->getLastStage());
1359 for (int shaderNdx = 0; shaderNdx < (int)program->getShaders().size(); ++shaderNdx)
1361 const ProgramInterfaceDefinition::Shader* shader = program->getShaders()[shaderNdx];
1429 const glu::ShaderType xfbStage = getProgramTransformFeedbackStage(program);
1431 for (int varyingNdx = 0; varyingNdx < (int)program->getTransformFeedbackVaryings().size(); ++varyingNdx)
1433 const std::string& varyingName = program->getTransformFeedbackVaryings()[varyingNdx];
1441 if (!traverseProgramVariablePath(path, program
1442 DE_ASSERT(false); // Program failed validate, invalid operation
1478 glu::ProgramSources generateProgramInterfaceProgramSources (const ProgramInterfaceDefinition::Program* program)
1482 DE_ASSERT(program->isValid());
1484 for (int shaderNdx = 0; shaderNdx < (int)program->getShaders().size(); ++shaderNdx)
1486 const ProgramInterfaceDefinition::Shader* shader = program->getShaders()[shaderNdx];
1494 << getShaderTypeDeclarations(program, shader->getType())
1533 program,
1548 program);
1608 program,
1619 writeInterfaceWriteExpression(usageBuf, "dummyValue", interface, shader->getType(), program);
1671 if (program->isSeparable())
1674 for (int ndx = 0; ndx < (int)program->getTransformFeedbackVaryings().size(); ++ndx)
1675 sources << glu::TransformFeedbackVarying(program->getTransformFeedbackVaryings()[ndx]);
1677 if (program->getTransformFeedbackMode())
1678 sources << glu::TransformFeedbackMode(program->getTransformFeedbackMode());
1683 bool findProgramVariablePathByPathName (std::vector<VariablePathComponent>& typePath, const ProgramInterfaceDefinition::Program* program, const std::string& pathName, const VariableSearchFilter& filter)
1687 if (!traverseProgramVariablePath(modifiedPath, program, pathName, filter))
1695 ProgramInterfaceDefinition::ShaderResourceUsage getShaderResourceUsage (const ProgramInterfaceDefinition::Program* program, const ProgramInterfaceDefinition::Shader* shader)
1748 retVal.numInputs += 1 * program->getTessellationNumOutputPatchVertices();
1749 retVal.numInputVectors += 1 * program->getTessellationNumOutputPatchVertices();
1750 retVal.numInputComponents += 4 * program->getTessellationNumOutputPatchVertices();
1753 retVal.numOutputs += 1 * program->getTessellationNumOutputPatchVertices();
1754 retVal.numOutputVectors += 1 * program->getTessellationNumOutputPatchVertices();
1755 retVal.numOutputComponents += 4 * program->getTessellationNumOutputPatchVertices();
1760 retVal.numInputs += 1 * program->getTessellationNumOutputPatchVertices();
1761 retVal.numInputVectors += 1 * program->getTessellationNumOutputPatchVertices();
1762 retVal.numInputComponents += 4 * program->getTessellationNumOutputPatchVertices();
1781 ProgramInterfaceDefinition::ProgramResourceUsage getCombinedProgramResourceUsage (const ProgramInterfaceDefinition::Program* program)
1815 for (int shaderNdx = 0; shaderNdx < (int)program->getShaders().size(); ++shaderNdx)
1817 const ProgramInterfaceDefinition::Shader* const shader = program->getShaders()[shaderNdx];
1867 if (program->getTransformFeedbackMode() == GL_INTERLEAVED_ATTRIBS)
1868 retVal.numXFBInterleavedComponents = getNumXFBComponents(program);
1869 else if (program->getTransformFeedbackMode() == GL_SEPARATE_ATTRIBS)
1871 retVal.numXFBSeparateAttribs = (int)program->getTransformFeedbackVaryings().size();
1872 retVal.numXFBSeparateComponents = getNumMaxXFBOutputComponents(program);