Lines Matching full:program

2  * drawElements Quality Program OpenGL ES 3.0 Module
186 void drawWithProgram(glu::RenderContext &renderCtx, uint32_t program) in drawWithProgram() argument
194 gl.useProgram(program); in drawWithProgram()
198 glu::draw(renderCtx, program, DE_LENGTH_OF_ARRAY(vertexArrays), &vertexArrays[0], in drawWithProgram()
354 void logProgram(TestLog &log, glu::RenderContext &renderCtx, glu::Program &program, ShaderAllocator… in logProgram() argument
356 log << TestLog::ShaderProgram(program.getLinkStatus(), program.getInfoLog()); in logProgram()
369 void logVertexFragmentProgram(TestLog &log, glu::RenderContext &renderCtx, glu::Program &program, in logVertexFragmentProgram() argument
374 log << TestLog::ShaderProgram(program.getLinkStatus(), program.getInfoLog()); in logVertexFragmentProgram()
447 // Base class for simple program API tests
489 const GLuint program = glCreateProgram(); in linkProgram() local
491 TCU_CHECK(program != 0); in linkProgram()
493 glAttachShader(program, m_vertShader); in linkProgram()
494 glAttachShader(program, m_fragShader); in linkProgram()
497 glLinkProgram(program); in linkProgram()
499 m_program = program; in linkProgram()
781 glu::Program program(renderCtx); in buildProgram() local
786 program.attachShader(shader.getShader()); in buildProgram()
787 program.attachShader(supportShader.getShader()); in buildProgram()
789 program.link(); in buildProgram()
792 logVertexFragmentProgram(log, renderCtx, program, shader, supportShader); in buildProgram()
794 logVertexFragmentProgram(log, renderCtx, program, supportShader, shader); in buildProgram()
828 // Base class for program state persistence cases
838 void buildProgram(glu::Program &program, ShaderAllocator &shaders);
839 void verify(glu::Program &program, const glu::ProgramInfo &reference);
843 virtual void executeForProgram(glu::Program &program, ShaderAllocator &shaders) = 0;
858 void ProgramStateCase::buildProgram(glu::Program &program, ShaderAllocator &shaders) in buildProgram() argument
868 program.attachShader(vertShader.getShader()); in buildProgram()
869 program.attachShader(fragShader.getShader()); in buildProgram()
870 program.link(); in buildProgram()
872 logProgram(log, m_context.getRenderContext(), program, shaders); in buildProgram()
875 void ProgramStateCase::verify(glu::Program &program, const glu::ProgramInfo &reference) in verify() argument
878 const glu::ProgramInfo &programInfo = program.getInfo(); in verify()
883 … << "Fail, link status may only change as a result of linking or loading a program binary." in verify()
896 log << TestLog::Message << "Fail, program infolog changed." << TestLog::EndMessage; in verify()
909 glu::Program program(renderCtx); in test() local
911 buildProgram(program, shaders); in test()
913 if (program.getLinkStatus()) in test()
915 glu::ProgramInfo programInfo = program.getInfo(); in test()
917 executeForProgram(program, shaders); in test()
919 verify(program, programInfo); in test()
921 logProgram(log, renderCtx, program, shaders); in test()
925 log << TestLog::Message << "Fail, couldn't link program." << TestLog::EndMessage; in test()
930 // Program state case utilities
944 … const std::string caseDesc = "Build program, " + desc + ", for " + shaderTypeName + " shader."; in addProgramStateCase()
952 // Specialized program state cases
966 void executeForProgram(glu::Program &program, ShaderAllocator &shaders) in executeForProgram() argument
973 program.detachShader(caseShader.getShader()); in executeForProgram()
989 void executeForProgram(glu::Program &program, ShaderAllocator &shaders) in executeForProgram() argument
996 program.detachShader(caseShader.getShader()); in executeForProgram()
997 program.attachShader(caseShader.getShader()); in executeForProgram()
1013 void executeForProgram(glu::Program &program, ShaderAllocator &shaders) in executeForProgram() argument
1020 program.detachShader(caseShader.getShader()); in executeForProgram()
1037 void executeForProgram(glu::Program &program, ShaderAllocator &shaders) in executeForProgram() argument
1044 program.detachShader(caseShader.getShader()); in executeForProgram()
1046 program.attachShader(shaders.createShader(m_shaderType).getShader()); in executeForProgram()
1062 void executeForProgram(glu::Program &program, ShaderAllocator &shaders) in executeForProgram() argument
1070 DE_UNREF(program); in executeForProgram()
1086 void executeForProgram(glu::Program &program, ShaderAllocator &shaders) in executeForProgram() argument
1096 DE_UNREF(program); in executeForProgram()
1100 // Program binary utilities
1121 // Base class for program binary cases
1132 void getProgramBinary(ProgramBinary &out, GLuint program);
1133 void loadProgramBinary(ProgramBinary &binary, GLuint program);
1176 void ProgramBinaryCase::getProgramBinary(ProgramBinary &out, GLuint program) in getProgramBinary() argument
1179 glGetProgramiv(program, GL_PROGRAM_BINARY_LENGTH, &binaryLength); in getProgramBinary()
1189 …GLU_CHECK_CALL(glGetProgramBinary(program, (GLsizei)out.data.size(), &actualLength, &format, &(out… in getProgramBinary()
1197 void ProgramBinaryCase::loadProgramBinary(ProgramBinary &binary, GLuint program) in loadProgramBinary() argument
1199 glProgramBinary(program, binary.format, &binary.data[0], (GLsizei)binary.data.size()); in loadProgramBinary()
1200 GLU_CHECK_MSG("Failed to load program binary."); in loadProgramBinary()
1209 log << TestLog::Message << "Program binary format " << binary.format in verifyProgramBinary()
1227 … log << TestLog::Message << "No program binary formats are supported." << TestLog::EndMessage; in iterate()
1242 // Simple program binary case
1263 glu::ShaderProgram program(m_context.getRenderContext(), sources); in test() local
1265 if (program.isOk()) in test()
1269 getProgramBinary(binary, program.getProgram()); in test()
1275 // Program binary uniform reset case
1317 void setUniformsRandom(glu::ShaderProgram &program) in setUniformsRandom() argument
1320 const uint32_t glProg = program.getProgram(); in setUniformsRandom()
1340 void verifyUniformInt(glu::ShaderProgram &program, const std::string &name) in verifyUniformInt() argument
1342 const GLint intLoc = glGetUniformLocation(program.getProgram(), name.c_str()); in verifyUniformInt()
1345 glGetUniformiv(program.getProgram(), intLoc, &intVar); in verifyUniformInt()
1355 void verifyUniformFloat(glu::ShaderProgram &program, const std::string &name) in verifyUniformFloat() argument
1357 const GLint floatLoc = glGetUniformLocation(program.getProgram(), name.c_str()); in verifyUniformFloat()
1360 glGetUniformfv(program.getProgram(), floatLoc, &floatVar); in verifyUniformFloat()
1370 void verifyUniformsReset(glu::ShaderProgram &program) in verifyUniformsReset() argument
1374 verifyUniformInt(program, "u_boolVar"); in verifyUniformsReset()
1375 verifyUniformInt(program, "u_intVar"); in verifyUniformsReset()
1376 verifyUniformFloat(program, "u_floatVar"); in verifyUniformsReset()
1388 glu::ShaderProgram program(m_context.getRenderContext(), sources); in test() local
1390 log << program; in test()
1392 TCU_CHECK_MSG(program.isOk(), "Couldn't build program"); in test()
1397 getProgramBinary(binary, program.getProgram()); in test()
1400 setUniformsRandom(program); in test()
1404 drawWithProgram(m_context.getRenderContext(), program.getProgram()); in test()
1405 loadProgramBinary(binary, program.getProgram()); in test()
1407 verifyUniformsReset(program); in test()
1415 // Base class for program state persistence cases
1425 void buildProgram(glu::Program &program, ShaderAllocator &shaders);
1429 virtual void executeForProgram(glu::Program &program, ShaderAllocator &shaders) = 0;
1430 virtual void verify(glu::Program &program, const ProgramBinary &binary);
1446 void ProgramBinaryPersistenceCase::buildProgram(glu::Program &program, ShaderAllocator &shaders) in buildProgram() argument
1456 program.attachShader(vertShader.getShader()); in buildProgram()
1457 program.attachShader(fragShader.getShader()); in buildProgram()
1458 program.link(); in buildProgram()
1460 logProgram(log, m_context.getRenderContext(), program, shaders); in buildProgram()
1463 void ProgramBinaryPersistenceCase::verify(glu::Program &program, const ProgramBinary &binary) in verify() argument
1468 getProgramBinary(currentBinary, program.getProgram()); in verify()
1472 …log << TestLog::Message << "Fail, program binary may only change as a result of linking or loading… in verify()
1474 m_testCtx.setTestResult(QP_TEST_RESULT_FAIL, "Program binary changed"); in verify()
1486 glu::Program program(renderCtx); in test() local
1488 buildProgram(program, shaders); in test()
1490 if (program.getLinkStatus()) in test()
1493 getProgramBinary(binary, program.getProgram()); in test()
1495 executeForProgram(program, shaders); in test()
1497 verify(program, binary); in test()
1499 logProgram(log, renderCtx, program, shaders); in test()
1503 log << TestLog::Message << "Fail, couldn't link program." << TestLog::EndMessage; in test()
1508 // Program state case utilities
1523 … const std::string caseDesc = "Build program, " + desc + ", for " + shaderTypeName + " shader."; in addProgramBinaryPersistenceCase()
1531 // Specialized program state cases
1546 void executeForProgram(glu::Program &program, ShaderAllocator &shaders) in executeForProgram() argument
1553 program.detachShader(caseShader.getShader()); in executeForProgram()
1570 void executeForProgram(glu::Program &program, ShaderAllocator &shaders) in executeForProgram() argument
1577 program.detachShader(caseShader.getShader()); in executeForProgram()
1578 program.attachShader(caseShader.getShader()); in executeForProgram()
1595 void executeForProgram(glu::Program &program, ShaderAllocator &shaders) in executeForProgram() argument
1602 program.detachShader(caseShader.getShader()); in executeForProgram()
1620 void executeForProgram(glu::Program &program, ShaderAllocator &shaders) in executeForProgram() argument
1627 program.detachShader(caseShader.getShader()); in executeForProgram()
1629 program.attachShader(shaders.createShader(m_shaderType).getShader()); in executeForProgram()
1646 void executeForProgram(glu::Program &program, ShaderAllocator &shaders) in executeForProgram() argument
1654 DE_UNREF(program); in executeForProgram()
1671 void executeForProgram(glu::Program &program, ShaderAllocator &shaders) in executeForProgram() argument
1681 DE_UNREF(program); in executeForProgram()
1776 new TestCaseGroup(m_context, "program_state", "Program state persistence tests"); in init()
1791 // program binary in init()
1793 …TestCaseGroup *programBinaryGroup = new TestCaseGroup(m_context, "program_binary", "Program binary… in init()
1801 … "Get vertex and fragment shader program binary")); in init()
1804 … "Verify uniform reset on successful load of program binary")); in init()
1809 … new TestCaseGroup(m_context, "binary_persistence", "Program binary persistence tests"); in init()