Lines Matching refs:program

64  *    * Test with valid parameters and verify that program and GL state are set
82 * * Test with a program containing
86 * * Test with null program to reset a stage or stages. Expect no errors.
87 * * Test with a program that doesn't contain code for a stage defined in the
89 * * Test with a new program pipeline object that has not yet been used/bound.
95 * * Test with program that isn't separable. Expect INVALID_OPERATION GL error.
96 * * Test with program that isn't linked succesfully. Expect INVALID_OPERATION
98 * * Test with deleted/nonexistent program. Expect INVALID_OPERATION error.
105 * * Test with a new program pipeline object that has not yet been used/bound.
109 * * Test with deleted/nonexistent program pipeline object. Expect INVALID_OPERATION and no
110 * changes to active program.
111 * * Test with nonexistent/deleted/unsuccesfully linked program. Expect
112 * INVALID_OPERATION GL error and no changes to active program.
119 * * Test creating different amounts of program pipeline object names.
127 * * Test binding existing program pipeline object. Verify with
129 * * Test binding zero program pipeline object. Verify
134 * * Test binding deleted/nonexistent program pipeline object. Expect
153 * * Test with deleted/nonexistent program pipeline names.
154 * * Test with existing program pipeline names.
166 * * Test with nonexistent/deleted program. Expect INVALID_OPERATION GL error
174 * * Test with new program pipeline object that has not yet been used/bound
190 * * Test with valid program pipeline. Expect VALIDATE_STATUS = TRUE
191 * * Test with invalid program pipeline Expect VALIDATE_STATUS = FALSE
192 * * Test with empty program pipeline (uninitialized, but bound). Expect VALIDATE_STATUS = FALSE.
194 * * Test with a new program pipeline object that has not been used/bound yet
198 * * Test with deleted/nonexistent program pipeline object. Expect
209 * * Test with a program with all combinations of
210 * - program is/isn't part of a bound pipeline
211 * - program is/isn't made current with UseProgram
212 * - program is/isn't made active with ActiveShaderProgram
213 * in all cases, only the uniforms of the specified program should be
218 * * Test with deleted/nonexistent program. Expect INVALID_VALUE GL error.
219 * * Test with unsuccesfully linked program. Expect INVALID_OPERATION GL error.
224 * Run ValidateProgramPipeline for valid / invalid program pipeline object
239 * * Test with deleted/nonexistent program pipeline object. Expect
250 * * Test that a program made active with UseProgram has precedence over
251 * program pipeline object bound with BindProgramPipeline.
252 * * Test that program(s) in bound program pipeline object will be used if
253 * there is no active program set with UseProgram
254 * * Test that a state without active program or without bound pipeline object
263 * - no program set with UseProgramStages for vertex or frargment stages
264 * - no vertex or fragment code in a program set for the stage
268 * * Test that program with both vertex and fragment shaders cannot be attached
274 * Shader/program management tests
281 * * Test that separable program can contain and links properly if there are
285 * * Test that active program isn't deleted immediately (deletion doesn't
287 * * Test that program in current pipeline isn't deleted immediately
288 * * Test that attaching/detaching/recompiling a shader in active program or
289 * program in current pipeline doesn't affect the program link status or
291 * * Test that succesfully re-linking active program or program in current
297 * * Test that unsuccesfully re-linking active program or program in current
299 * * Test that unsuccesfully linked program cannot be made part of a program
308 * * Test that Uniform* functions update the uniforms of a program made active with
309 * ActiveShader program if no program has been made active with UseProgram.
311 * program regardless of active program (probably already covered with
317 * program set with UseProgram nor ActiveShaderProgram
535 // Check program validity created with CreateShaderProgram
536 bool checkCSProg(const glw::Functions& gl, GLuint program, int expectedSep = GL_TRUE, int expectedLink = GL_TRUE)
540 if (program != 0)
542 gl.getProgramiv(program, GL_PROGRAM_SEPARABLE, &separable);
543 gl.getProgramiv(program, GL_LINK_STATUS, &linked);
546 return (program != 0) && (separable == expectedSep) && (linked == expectedLink);
555 glw::GLuint program;
577 program = gl.createShaderProgramv(GL_VERTEX_SHADER, i, srcStrings);
578 if (!checkCSProg(gl, program))
583 gl.deleteProgram(program);
601 program = gl.createShaderProgramv(GL_VERTEX_SHADER, i, srcStrings);
602 if (!checkCSProg(gl, program))
607 gl.deleteProgram(program);
619 program = gl.createShaderProgramv(GL_FRAGMENT_SHADER, i, srcStrings);
620 if (!checkCSProg(gl, program))
625 gl.deleteProgram(program);
632 program = gl.createShaderProgramv(GL_MAX_FRAGMENT_UNIFORM_VECTORS, i, srcStrings);
634 if ((program != 0) || (err != GL_INVALID_ENUM))
640 program = gl.createShaderProgramv(GL_FRAGMENT_SHADER, -1, srcStrings);
642 if ((program != 0) || (err != GL_INVALID_VALUE))
656 program = gl.createShaderProgramv(GL_FRAGMENT_SHADER, i, srcStrings);
657 // expect valid program and false for link status
658 if (!checkCSProg(gl, program, GL_FALSE, GL_FALSE))
663 gl.deleteProgram(program);
741 // One program for both.
763 // Use a fragment program with vertex bit
942 // Nonexistent program
1054 // program has no linked binary.
1145 gl.validateProgramPipeline(pipelines[0]); // Still empty program pipeline.
1149 TCU_FAIL("ValidateProgramPipeline failed with empty program pipeline");
1164 // Relink the bound separable program as not separable
1215 // outFragSrc will hold a fragment program that is DataType specific
1453 // set uniforms in program A
1518 // set uniforms in program B
1764 // set uniforms in program B
1910 // bind one program with useProgramStages
1917 // make an active program with activeShaderProgram
1927 // bind one program with useProgramStages
1934 // make an active program with activeShaderProgram
1971 // deleted program
2001 // Log the program info log
2002 void logProgramInfoLog(const glw::Functions& gl, glw::GLuint program)
2009 gl.getProgramiv(program, GL_INFO_LOG_LENGTH, &value);
2012 gl.getProgramInfoLog(program, bufSize, &length, &infoLogBuf[0]);
2018 // Check program validity created with CreateShaderProgram
2019 bool checkCSProg(const glw::Functions& gl, GLuint program, int expectedLink = GL_TRUE)
2022 if (program != 0)
2024 gl.getProgramiv(program, GL_LINK_STATUS, &linked);
2028 logProgramInfoLog(gl, program);
2032 return (program != 0) && (linked == expectedLink);
2205 // The program bound with glUseProgram will draw green, the programs
2288 // bindProgramPipeline without a program installed by useProgram
2290 // program as a parameter and sets state.
2305 // Test rendering with no program bound. Rendering is undefined
2327 // Missing program for fragment shader
2333 // Separable program with both vertex and fragment shaders attached to only one stage
2429 // Negative Case: Unsuccessfully linked program should not affect current program
2621 // Log the program info log
2622 void logProgramInfoLog(const glw::Functions& gl, glw::GLuint program)
2629 gl.getProgramiv(program, GL_INFO_LOG_LENGTH, &value);
2632 gl.getProgramInfoLog(program, bufSize, &length, &infoLogBuf[0]);
2638 // Check program validity created with CreateShaderProgram
2639 bool checkCSProg(const glw::Functions& gl, GLuint program, int expectedLink = GL_TRUE)
2642 if (program != 0)
2644 gl.getProgramiv(program, GL_LINK_STATUS, &linked);
2648 logProgramInfoLog(gl, program);
2652 return (program != 0) && (linked == expectedLink);
2820 // validate non separable program
2830 log << TestLog::Message << "Non separable program link status GL_FALSE expected GL_TRUE"
2832 TCU_FAIL("InterfaceMatchingCase failed, non separable program should link");
2841 GLU_EXPECT_NO_ERROR(gl.getError(), "StateInteraction failure, non separable program draw call");
2846 TCU_FAIL("InterfaceMatchingCase failed, non separable program, unexpected color found");