Home | History | Annotate | Download | only in functional

Lines Matching refs:pipeline

669 	// Final pipeline has a single program?
708 msg << "Pipeline configuration:\n";
805 // Program pipeline wrapper that retains references to component programs.
807 struct Pipeline
809 Pipeline (MovePtr<ProgramPipeline> pipeline_,
813 : pipeline (pipeline_)
828 UniquePtr<ProgramPipeline> pipeline;
834 void logPipeline(TestLog& log, const Pipeline& pipeline)
836 ProgramWrapper& vtxProg = pipeline.getVertexProgram();
837 ProgramWrapper& frgProg = pipeline.getFragmentProgram();
839 log.writeMessage("// Failed program pipeline:");
898 (MovePtr<Pipeline>& pipeOut);
909 void testPipelineRendering (MovePtr<Pipeline>& pipeOut);
910 void testCurrentProgPriority (MovePtr<Pipeline>& pipeOut);
911 void testActiveProgramUniform (MovePtr<Pipeline>& pipeOut);
912 void testPipelineQueryActive (MovePtr<Pipeline>& pipeOut);
913 void testPipelineQueryPrograms (MovePtr<Pipeline>& pipeOut);
934 MovePtr<Pipeline> createPipeline (const ProgramParams& pp);
1083 MovePtr<Pipeline> SeparateShaderTest::createPipeline(const ProgramParams& pp)
1095 MovePtr<ProgramPipeline> pipeline (new ProgramPipeline(renderCtx));
1102 // would not be distinct in the final pipeline, and we are going to test
1113 pipeline->useProgramStages(GL_VERTEX_SHADER_BIT | GL_FRAGMENT_SHADER_BIT,
1116 << "// Created pipeline " << pipeline->getPipeline()
1125 pipeline->useProgramStages(GL_VERTEX_SHADER_BIT, vtxProg->getProgramName());
1128 pipeline->useProgramStages(GL_FRAGMENT_SHADER_BIT, frgProg->getProgramName());
1131 << "// Created pipeline " << pipeline->getPipeline()
1137 m_status.check(pipeline->isValid(),
1138 "Pipeline is invalid after initialization");
1145 pipeline->useProgramStages(GL_VERTEX_SHADER_BIT, vtxProg->getProgramName());
1147 << "// Switched pipeline " << pipeline->getPipeline()
1156 pipeline->useProgramStages(GL_FRAGMENT_SHADER_BIT, frgProg->getProgramName());
1158 << "// Switched pipeline " << pipeline->getPipeline()
1164 m_status.check(pipeline->isValid(),
1165 "Pipeline became invalid after changing a stage's program");
1178 return MovePtr<Pipeline>(new Pipeline(pipeline, fullProg, vtxProg, frgProg));
1219 void SeparateShaderTest::testPipelineRendering (MovePtr<Pipeline>& pipeOut)
1222 Pipeline& pipeline = *(pipeOut = createPipeline(pp));
1223 GLuint pipeName = pipeline.pipeline->getPipeline();
1236 log() << TestLog::Message << "// Bind pipeline " << pipeName << TestLog::EndMessage;
1242 m_testCtx.getLog(), "Program pipeline result",
1243 "Result of comparing a program pipeline with a monolithic program",
1246 m_status.check(result, "Pipeline rendering differs from equivalent monolithic program");
1250 void SeparateShaderTest::testCurrentProgPriority (MovePtr<Pipeline>& pipeOut)
1254 Pipeline& pipeline = *(pipeOut = createPipeline(pipePp));
1255 GLuint pipeName = pipeline.pipeline->getPipeline();
1283 log() << TestLog::Image("Pipeline image", "Image produced by pipeline",
1287 void SeparateShaderTest::testActiveProgramUniform (MovePtr<Pipeline>& pipeOut)
1312 ProgramPipeline pipeline (getRenderContext());
1316 LOG_CALL(glBindProgramPipeline(pipeline.getPipeline()));
1318 pipeline.activeShaderProgram(changeName);
1331 pipeline.activeShaderProgram(0);
1346 "the active program of the bound pipeline");
1349 void SeparateShaderTest::testPipelineQueryPrograms (MovePtr<Pipeline>& pipeOut)
1352 Pipeline& pipeline = *(pipeOut = createPipeline(pipePp));
1353 GLuint pipeName = pipeline.pipeline->getPipeline();
1358 m_status.check(GLuint(queryVtx) == pipeline.getVertexProgram().getProgramName(),
1359 "Program pipeline query reported wrong vertex shader program");
1362 m_status.check(GLuint(queryFrg) == pipeline.getFragmentProgram().getProgramName(),
1363 "Program pipeline query reported wrong fragment shader program");
1366 void SeparateShaderTest::testPipelineQueryActive (MovePtr<Pipeline>& pipeOut)
1369 Pipeline& pipeline = *(pipeOut = createPipeline(pipePp));
1370 GLuint pipeName = pipeline.pipeline->getPipeline();
1371 GLuint newActive = pipeline.getVertexProgram().getProgramName();
1376 "Program pipeline query reported non-zero initial active program");
1378 pipeline.pipeline->activeShaderProgram(newActive);
1380 << "Set pipeline " << pipeName << "'s active shader program to " << newActive
1385 "Program pipeline query reported incorrect active program");
1387 pipeline.pipeline->activeShaderProgram(0);
1392 MovePtr<Pipeline> pipeline;
1403 (this->*m_testFunc)(pipeline);
1408 if (pipeline)
1409 logPipeline(log(), *pipeline);
1415 if (pipeline)
1416 logPipeline(log(), *pipeline);
1536 new TestCaseGroup(ctx, "pipeline", "Pipeline configuration tests");
1667 ctx, "random", "Random pipeline configuration tests");
1692 new TestCaseGroup(ctx, "api", "Program pipeline API tests");
1703 "Test priority between current program and pipeline binding",
1708 "Test that glUniform() affects a pipeline's active program",
1714 "Test queries for programs in program pipeline stages",
1720 "Test query for active programs in a program pipeline",
1725 new TestCaseGroup(ctx, "validation", "Negative program pipeline interface matching");