Lines Matching refs:programs

80 	void prepareProgram(Utils::program** programs, bool is_separable);
82 void prepareProgramPipeline(glw::GLuint& pipeline_id, Utils::program** programs);
86 bool testProgram(Utils::program** programs, bool is_separable, const glw::GLuint test_cases[][5],
257 /* Test separable programs */
260 /* Prepare programs */
583 * @param programs An array of 5 programs' pointers. If monolithic program is prepared that only index m_fragment_stage_index should be initialized, otherwise all 5
584 * @param is_separable Select if monolithic or separable programs should be prepared
586 void UniformPreservationTest::prepareProgram(Utils::program** programs, bool is_separable)
607 programs[0]->build(0 /* compute shader source */, fragmenty_shader_code, geometry_shader_code,
611 programs[m_geometry_stage_index] = programs[m_fragment_stage_index];
612 programs[m_tesselation_control_stage_index] = programs[m_fragment_stage_index];
613 programs[m_tesselation_evaluation_stage_index] = programs[m_fragment_stage_index];
614 programs[m_vertex_stage_index] = programs[m_fragment_stage_index];
618 programs[m_fragment_stage_index]->build(0, fragmenty_shader_code, 0, 0, 0, 0, 0, 0, true);
619 programs[m_geometry_stage_index]->build(0, 0, geometry_shader_code, 0, 0, 0, 0, 0, true);
620 programs[m_tesselation_control_stage_index]->build(0, 0, 0, tesselation_control_shader_code, 0, 0, 0, 0, true);
621 programs[m_tesselation_evaluation_stage_index]->build(0, 0, 0, 0, tesselation_evaluation_shader_code, 0, 0, 0,
623 programs[m_vertex_stage_index]->build(0, 0, 0, 0, 0, vertex_shader_code, 0, 0, true);
630 programs[m_fragment_stage_index]->getSubroutineIndex(subroutine_names[i], GL_FRAGMENT_SHADER);
633 programs[m_geometry_stage_index]->getSubroutineIndex(subroutine_names[i], GL_GEOMETRY_SHADER);
636 programs[m_tesselation_control_stage_index]->getSubroutineIndex(subroutine_names[i],
640 programs[m_tesselation_evaluation_stage_index]->getSubroutineIndex(subroutine_names[i],
644 programs[m_vertex_stage_index]->getSubroutineIndex(subroutine_names[i], GL_VERTEX_SHADER);
649 programs[m_fragment_stage_index]->getSubroutineUniformLocation(subroutine_uniform_name, GL_FRAGMENT_SHADER);
652 programs[m_geometry_stage_index]->getSubroutineUniformLocation(subroutine_uniform_name, GL_GEOMETRY_SHADER);
655 programs[m_tesselation_control_stage_index]->getSubroutineUniformLocation(subroutine_uniform_name,
659 programs[m_tesselation_evaluation_stage_index]->getSubroutineUniformLocation(subroutine_uniform_name,
663 programs[m_vertex_stage_index]->getSubroutineUniformLocation(subroutine_uniform_name, GL_VERTEX_SHADER);
666 /** Generate program pipeline for current context and attach separable programs
669 * @param programs Collection of separable programs
671 void UniformPreservationTest::prepareProgramPipeline(glw::GLuint& out_pipeline_id, Utils::program** programs)
684 /* Set up programs */
685 gl.useProgramStages(out_pipeline_id, GL_FRAGMENT_SHADER_BIT, programs[m_fragment_stage_index]->m_program_object_id);
688 gl.useProgramStages(out_pipeline_id, GL_GEOMETRY_SHADER_BIT, programs[m_geometry_stage_index]->m_program_object_id);
692 programs[m_tesselation_control_stage_index]->m_program_object_id);
696 programs[m_tesselation_evaluation_stage_index]->m_program_object_id);
699 gl.useProgramStages(out_pipeline_id, GL_VERTEX_SHADER_BIT, programs[m_vertex_stage_index]->m_program_object_id);
768 * @param programs An array of 5 programs\ pointers, as in preparePrograms
769 * @param is_separable Selects if monolithic or separable programs should be used
775 bool UniformPreservationTest::testProgram(Utils::program** programs, bool is_separable,
781 programs[0]->use();
786 programs[0]->use();
798 prepareProgramPipeline(m_program_pipelines[m_n_shared_contexts], programs);
808 prepareProgramPipeline(m_program_pipelines[i], programs);