Lines Matching refs:sglr
206 class VertexExpanderShader : public sglr::ShaderProgram
221 : sglr::ShaderProgram(sglr::pdec::ShaderProgramDeclaration()
222 << sglr::pdec::VertexAttribute("a_position", rr::GENERICVECTYPE_FLOAT)
223 << sglr::pdec::VertexAttribute("a_color", rr::GENERICVECTYPE_FLOAT)
224 << sglr::pdec::VertexToGeometryVarying(rr::GENERICVECTYPE_FLOAT)
225 << sglr::pdec::GeometryToFragmentVarying(rr::GENERICVECTYPE_FLOAT)
226 << sglr::pdec::FragmentOutput(rr::GENERICVECTYPE_FLOAT)
227 << sglr::pdec::VertexSource(specializeShader(s_commonShaderSourceVertex, contextType))
228 << sglr::pdec::FragmentSource(specializeShader(s_commonShaderSourceFragment, contextType))
229 << sglr::pdec::GeometryShaderDeclaration(inputType, outputType, calcOutputVertices(inputType))
230 << sglr::pdec::GeometrySource(genGeometrySource(contextType, inputType, outputType)))
305 class VertexEmitterShader : public sglr::ShaderProgram
324 : sglr::ShaderProgram(sglr::pdec::ShaderProgramDeclaration()
325 << sglr::pdec::VertexAttribute("a_position", rr::GENERICVECTYPE_FLOAT)
326 << sglr::pdec::VertexAttribute("a_color", rr::GENERICVECTYPE_FLOAT)
327 << sglr::pdec::VertexToGeometryVarying(rr::GENERICVECTYPE_FLOAT)
328 << sglr::pdec::GeometryToFragmentVarying(rr::GENERICVECTYPE_FLOAT)
329 << sglr::pdec::FragmentOutput(rr::GENERICVECTYPE_FLOAT)
330 << sglr::pdec::VertexSource(specializeShader(s_commonShaderSourceVertex, contextType))
331 << sglr::pdec::FragmentSource(specializeShader(s_commonShaderSourceFragment, contextType))
332 << sglr::pdec::GeometryShaderDeclaration(rr::GEOMETRYSHADERINPUTTYPE_POINTS, outputType, emitCountA + emitCountB)
333 << sglr::pdec::GeometrySource(genGeometrySource(contextType, emitCountA, endCountA, emitCountB, endCountB, outputType)))
440 class VertexVaryingShader : public sglr::ShaderProgram
450 static sglr::pdec::ShaderProgramDeclaration genProgramDeclaration (const glu::ContextType& contextType, int vertexOut, int geometryOut);
457 : sglr::ShaderProgram (genProgramDeclaration(contextType, vertexOut, geometryOut))
619 sglr::pdec::ShaderProgramDeclaration VertexVaryingShader::genProgramDeclaration (const glu::ContextType& contextType, int vertexOut, int geometryOut)
621 sglr::pdec::ShaderProgramDeclaration decl;
627 << sglr::pdec::VertexAttribute("a_position", rr::GENERICVECTYPE_FLOAT)
628 << sglr::pdec::VertexAttribute("a_color", rr::GENERICVECTYPE_FLOAT);
631 decl << sglr::pdec::VertexToGeometryVarying(rr::GENERICVECTYPE_FLOAT);
633 decl << sglr::pdec::GeometryToFragmentVarying(rr::GENERICVECTYPE_FLOAT);
636 << sglr::pdec::FragmentOutput(rr::GENERICVECTYPE_FLOAT)
637 << sglr::pdec::GeometryShaderDeclaration(rr::GEOMETRYSHADERINPUTTYPE_TRIANGLES, rr::GEOMETRYSHADEROUTPUTTYPE_TRIANGLE_STRIP, 3);
784 << sglr::pdec::VertexSource(specializeShader(vertexSource.str(), contextType))
785 << sglr::pdec::FragmentSource(specializeShader(fragmentSource.str(), contextType))
786 << sglr::pdec::GeometrySource(specializeShader(geometrySource.str(), contextType));
790 class OutputCountShader : public sglr::ShaderProgram
809 : sglr::ShaderProgram (sglr::pdec::ShaderProgramDeclaration()
810 << sglr::pdec::VertexAttribute("a_position", rr::GENERICVECTYPE_FLOAT)
811 << sglr::pdec::VertexAttribute("a_color", rr::GENERICVECTYPE_FLOAT)
812 << sglr::pdec::VertexToGeometryVarying(rr::GENERICVECTYPE_FLOAT)
813 << sglr::pdec::GeometryToFragmentVarying(rr::GENERICVECTYPE_FLOAT)
814 << sglr::pdec::FragmentOutput(rr::GENERICVECTYPE_FLOAT)
815 << sglr::pdec::VertexSource(specializeShader(s_commonShaderSourceVertex, contextType))
816 << sglr::pdec::FragmentSource(specializeShader(s_commonShaderSourceFragment, contextType))
817 << sglr::pdec::GeometryShaderDeclaration(rr::GEOMETRYSHADERINPUTTYPE_POINTS, rr::GEOMETRYSHADEROUTPUTTYPE_TRIANGLE_STRIP, getPatternEmitCount(spec))
818 << sglr::pdec::GeometrySource(genGeometrySource(contextType, spec)))
915 class BuiltinVariableShader : public sglr::ShaderProgram
944 : sglr::ShaderProgram (sglr::pdec::ShaderProgramDeclaration()
945 << sglr::pdec::VertexAttribute("a_position", rr::GENERICVECTYPE_FLOAT)
946 << sglr::pdec::VertexAttribute(getTestAttributeName(test), rr::GENERICVECTYPE_FLOAT)
947 << sglr::pdec::VertexToGeometryVarying(rr::GENERICVECTYPE_FLOAT)
948 << sglr::pdec::GeometryToFragmentVarying(rr::GENERICVECTYPE_FLOAT)
949 << sglr::pdec::FragmentOutput(rr::GENERICVECTYPE_FLOAT)
950 << sglr::pdec::VertexSource(genVertexSource(contextType, test))
951 << sglr::pdec::FragmentSource(genFragmentSource(contextType, test))
952 << sglr::pdec::GeometryShaderDeclaration(rr::GEOMETRYSHADERINPUTTYPE_POINTS,
955 << sglr::pdec::GeometrySource(genGeometrySource(contextType, test)))
1200 class VaryingOutputCountShader : public sglr::ShaderProgram
1233 const sglr::UniformSlot& m_sampler;
1234 const sglr::UniformSlot& m_emitCount;
1240 : sglr::ShaderProgram (sglr::pdec::ShaderProgramDeclaration()
1241 << sglr::pdec::Uniform("u_sampler", glu::TYPE_SAMPLER_2D)
1242 << sglr::pdec::Uniform("u_emitCount", glu::TYPE_INT_VEC4)
1243 << sglr::pdec::VertexAttribute("a_position", rr::GENERICVECTYPE_FLOAT)
1244 << sglr::pdec::VertexAttribute(getAttributeName(source), rr::GENERICVECTYPE_FLOAT)
1245 << sglr::pdec::VertexToGeometryVarying(rr::GENERICVECTYPE_FLOAT)
1246 << sglr::pdec::GeometryToFragmentVarying(rr::GENERICVECTYPE_FLOAT)
1247 << sglr::pdec::FragmentOutput(rr::GENERICVECTYPE_FLOAT)
1248 << sglr::pdec::VertexSource(genVertexSource(contextType, source))
1249 << sglr::pdec::FragmentSource(specializeShader(s_commonShaderSourceFragment, contextType))
1250 << sglr::pdec::GeometryShaderDeclaration(rr::GEOMETRYSHADERINPUTTYPE_POINTS,
1254 << sglr::pdec::GeometrySource(genGeometrySource(contextType, source, maxEmitCount, instanced)))
1489 class InvocationCountShader : public sglr::ShaderProgram
1515 : sglr::ShaderProgram (sglr::pdec::ShaderProgramDeclaration()
1516 << sglr::pdec::VertexAttribute("a_position", rr::GENERICVECTYPE_FLOAT)
1517 << sglr::pdec::VertexAttribute("a_color", rr::GENERICVECTYPE_FLOAT)
1518 << sglr::pdec::VertexToGeometryVarying(rr::GENERICVECTYPE_FLOAT)
1519 << sglr::pdec::GeometryToFragmentVarying(rr::GENERICVECTYPE_FLOAT)
1520 << sglr::pdec::FragmentOutput(rr::GENERICVECTYPE_FLOAT)
1521 << sglr::pdec::VertexSource(specializeShader(s_commonShaderSourceVertex, contextType))
1522 << sglr::pdec::FragmentSource(specializeShader(s_commonShaderSourceFragment, contextType))
1523 << sglr::pdec::GeometryShaderDeclaration(rr::GEOMETRYSHADERINPUTTYPE_POINTS,
1527 << sglr::pdec::GeometrySource(genGeometrySource(contextType, numInvocations, testCase)))
1680 class InstancedExpansionShader : public sglr::ShaderProgram
1698 : sglr::ShaderProgram (sglr::pdec::ShaderProgramDeclaration()
1699 << sglr::pdec::VertexAttribute("a_position", rr::GENERICVECTYPE_FLOAT)
1700 << sglr::pdec::VertexAttribute("a_offset", rr::GENERICVECTYPE_FLOAT)
1701 << sglr::pdec::FragmentOutput(rr::GENERICVECTYPE_FLOAT)
1702 << sglr::pdec::VertexSource(genVertexSource(contextType))
1703 << sglr::pdec::FragmentSource(genFragmentSource(contextType))
1704 << sglr::pdec::GeometryShaderDeclaration(rr::GEOMETRYSHADERINPUTTYPE_POINTS,
1708 << sglr::pdec::GeometrySource(genGeometrySource(contextType, numInvocations)))
1823 virtual sglr::ShaderProgram& getProgram (void) = 0;
1827 void renderWithContext (sglr::Context& ctx, sglr::ShaderProgram& program, tcu::Surface& dstSurface);
1828 virtual void preRender (sglr::Context& ctx, GLuint programID);
1829 virtual void postRender (sglr::Context& ctx, GLuint programID);
1846 sglr::ReferenceContextBuffers* m_refBuffers;
1847 sglr::ReferenceContext* m_refContext;
1848 sglr::Context* m_glContext;
1891 sglr::ReferenceContextLimits limits;
1896 m_refBuffers = new sglr::ReferenceContextBuffers(m_context.getRenderTarget().getPixelFormat(), m_context.getRenderTarget().getDepthBits(), 0, m_viewportSize.x(), m_viewportSize.y());
1897 m_refContext = new sglr::ReferenceContext(limits, m_refBuffers->getColorbuffer(), m_refBuffers->getDepthbuffer(), m_refBuffers->getStencilbuffer());
1898 m_glContext = new sglr::GLContext(m_context.getRenderContext(), m_testCtx.getLog(), sglr::GLCONTEXT_LOG_CALLS | sglr::GLCONTEXT_LOG_PROGRAMS, tcu::IVec4(0, 0, m_viewportSize.x(), m_viewportSize.y()));
1944 sglr::ShaderProgram& program = getProgram();
2060 void GeometryShaderRenderTest::renderWithContext (sglr::Context& ctx, sglr::ShaderProgram& program, tcu::Surface& dstSurface)
2163 void GeometryShaderRenderTest::preRender (sglr::Context& ctx, GLuint programID)
2169 void GeometryShaderRenderTest::postRender (sglr::Context& ctx, GLuint programID)
2181 sglr::ShaderProgram& getProgram (void);
2201 m_program = new VertexExpanderShader(m_context.getRenderContext().getType(), sglr::rr_util::mapGLGeometryShaderInputType(m_inputPrimitives), sglr::rr_util::mapGLGeometryShaderOutputType(m_outputPrimitives));
2217 sglr::ShaderProgram& GeometryExpanderRenderTest::getProgram (void)
2227 sglr::ShaderProgram& getProgram (void);
2254 m_program = new VertexEmitterShader(m_context.getRenderContext().getType(), m_emitCountA, m_endCountA, m_emitCountB, m_endCountB, sglr::rr_util::mapGLGeometryShaderOutputType(m_outputType));
2270 sglr::ShaderProgram& EmitTest::getProgram (void)
2291 sglr::ShaderProgram& getProgram (void);
2328 sglr::ShaderProgram& VaryingTest::getProgram (void)
2383 sglr::Context* m_ctx;
2408 m_ctx = new sglr::GLContext(m_context.getRenderContext(), m_testCtx.getLog(), sglr::GLCONTEXT_LOG_CALLS | sglr::GLCONTEXT_LOG_PROGRAMS, tcu::IVec4(0, 0, 1, 1));
2409 m_program = new VertexExpanderShader(m_context.getRenderContext().getType() , sglr::rr_util::mapGLGeometryShaderInputType(m_inputType), rr::GEOMETRYSHADEROUTPUTTYPE_POINTS);
2481 sglr::ShaderProgram& getProgram (void);
2564 sglr::ShaderProgram& OutputCountCase::getProgram (void)
2592 sglr::ShaderProgram& getProgram (void);
2651 sglr::ShaderProgram& BuiltinVariableRenderTest::getProgram (void)
3756 void preRender (sglr::Context& ctx, GLuint programID);
3758 sglr::ShaderProgram& getProgram (void);
3855 void VaryingOutputCountCase::preRender (sglr::Context& ctx, GLuint programID)
3883 // \note we don't need to explicitly delete the texture, the sglr context will delete it
3892 sglr::ShaderProgram& VaryingOutputCountCase::getProgram (void)
4365 sglr::ShaderProgram& getProgram (void);
4462 sglr::ShaderProgram& GeometryInvocationCase::getProgram (void)
4500 sglr::ShaderProgram& getProgram (void);
4544 sglr::ShaderProgram& DrawInstancedGeometryInstancedCase::getProgram (void)
6477 const std::string name = std::string("type_") + inputTypeToGLString(sglr::rr_util::mapGLGeometryShaderInputType(inputType)) + "_primitive_" + primitiveTypeToString(primitiveType);
6478 const std::string desc = std::string("Shader input type ") + inputTypeToGLString(sglr::rr_util::mapGLGeometryShaderInputType(inputType)) + ", draw primitive type " + primitiveTypeToString(primitiveType);