Home | History | Annotate | Download | only in functional

Lines Matching full:pipeline

749 	// Final pipeline has a single program?
811 msg << "Pipeline configuration:\n";
912 // Program pipeline wrapper that retains references to component programs.
914 struct Pipeline
916 Pipeline (MovePtr<ProgramPipeline> pipeline_,
920 : pipeline (pipeline_)
935 UniquePtr<ProgramPipeline> pipeline;
941 void logPipeline(TestLog& log, const Pipeline& pipeline)
943 ProgramWrapper& vtxProg = pipeline.getVertexProgram();
944 ProgramWrapper& frgProg = pipeline.getFragmentProgram();
946 log.writeMessage("// Failed program pipeline:");
1005 (MovePtr<Pipeline>& pipeOut);
1016 void testPipelineRendering (MovePtr<Pipeline>& pipeOut);
1017 void testCurrentProgPriority (MovePtr<Pipeline>& pipeOut);
1018 void testActiveProgramUniform (MovePtr<Pipeline>& pipeOut);
1019 void testPipelineQueryActive (MovePtr<Pipeline>& pipeOut);
1020 void testPipelineQueryPrograms (MovePtr<Pipeline>& pipeOut);
1041 MovePtr<Pipeline> createPipeline (const ProgramParams& pp);
1191 MovePtr<Pipeline> SeparateShaderTest::createPipeline (const ProgramParams& pp)
1203 MovePtr<ProgramPipeline> pipeline (new ProgramPipeline(renderCtx));
1210 // would not be distinct in the final pipeline, and we are going to test
1221 pipeline->useProgramStages(GL_VERTEX_SHADER_BIT | GL_FRAGMENT_SHADER_BIT,
1224 << "// Created pipeline " << pipeline->getPipeline()
1233 pipeline->useProgramStages(GL_VERTEX_SHADER_BIT, vtxProg->getProgramName());
1236 pipeline->useProgramStages(GL_FRAGMENT_SHADER_BIT, frgProg->getProgramName());
1239 << "// Created pipeline " << pipeline->getPipeline()
1245 m_status.check(pipeline->isValid(),
1246 "Pipeline is invalid after initialization");
1253 pipeline->useProgramStages(GL_VERTEX_SHADER_BIT, vtxProg->getProgramName());
1255 << "// Switched pipeline " << pipeline->getPipeline()
1264 pipeline->useProgramStages(GL_FRAGMENT_SHADER_BIT, frgProg->getProgramName());
1266 << "// Switched pipeline " << pipeline->getPipeline()
1272 m_status.check(pipeline->isValid(),
1273 "Pipeline became invalid after changing a stage's program");
1286 return MovePtr<Pipeline>(new Pipeline(pipeline, fullProg, vtxProg, frgProg));
1327 void SeparateShaderTest::testPipelineRendering (MovePtr<Pipeline>& pipeOut)
1330 Pipeline& pipeline = *(pipeOut = createPipeline(pp));
1331 GLuint pipeName = pipeline.pipeline->getPipeline();
1344 log() << TestLog::Message << "// Bind pipeline " << pipeName << TestLog::EndMessage;
1350 m_testCtx.getLog(), "Program pipeline result",
1351 "Result of comparing a program pipeline with a monolithic program",
1354 m_status.check(result, "Pipeline rendering differs from equivalent monolithic program");
1358 void SeparateShaderTest::testCurrentProgPriority (MovePtr<Pipeline>& pipeOut)
1362 Pipeline& pipeline = *(pipeOut = createPipeline(pipePp));
1363 GLuint pipeName = pipeline.pipeline->getPipeline();
1391 log() << TestLog::Image("Pipeline image", "Image produced by pipeline",
1395 void SeparateShaderTest::testActiveProgramUniform (MovePtr<Pipeline>& pipeOut)
1420 ProgramPipeline pipeline (getRenderContext());
1424 LOG_CALL(glBindProgramPipeline(pipeline.getPipeline()));
1426 pipeline.activeShaderProgram(changeName);
1439 pipeline.activeShaderProgram(0);
1454 "the active program of the bound pipeline");
1457 void SeparateShaderTest::testPipelineQueryPrograms (MovePtr<Pipeline>& pipeOut)
1460 Pipeline& pipeline = *(pipeOut = createPipeline(pipePp));
1461 GLuint pipeName = pipeline.pipeline->getPipeline();
1466 m_status.check(GLuint(queryVtx) == pipeline.getVertexProgram().getProgramName(),
1467 "Program pipeline query reported wrong vertex shader program");
1470 m_status.check(GLuint(queryFrg) == pipeline.getFragmentProgram().getProgramName(),
1471 "Program pipeline query reported wrong fragment shader program");
1474 void SeparateShaderTest::testPipelineQueryActive (MovePtr<Pipeline>& pipeOut)
1477 Pipeline& pipeline = *(pipeOut = createPipeline(pipePp));
1478 GLuint pipeName = pipeline.pipeline->getPipeline();
1479 GLuint newActive = pipeline.getVertexProgram().getProgramName();
1484 "Program pipeline query reported non-zero initial active program");
1486 pipeline.pipeline->activeShaderProgram(newActive);
1488 << "Set pipeline " << pipeName << "'s active shader program to " << newActive
1493 "Program pipeline query reported incorrect active program");
1495 pipeline.pipeline->activeShaderProgram(0);
1500 MovePtr<Pipeline> pipeline;
1511 (this->*m_testFunc)(pipeline);
1516 if (pipeline)
1517 logPipeline(log(), *pipeline);
1523 if (pipeline)
1524 logPipeline(log(), *pipeline);
1646 new TestCaseGroup(ctx, "pipeline", "Pipeline configuration tests");
1777 ctx, "random", "Random pipeline configuration tests");
1802 new TestCaseGroup(ctx, "api", "Program pipeline API tests");
1813 "Test priority between current program and pipeline binding",
1818 "Test that glUniform() affects a pipeline's active program",
1824 "Test queries for programs in program pipeline stages",
1830 "Test query for active programs in a program pipeline",
1835 new TestCaseGroup(ctx, "validation", "Negative program pipeline interface matching");