#ifndef _TCUNULLRENDERCONTEXT_HPP #define _TCUNULLRENDERCONTEXT_HPP /*------------------------------------------------------------------------- * drawElements Quality Program OpenGL ES Utilities * ------------------------------------------------ * * Copyright 2014 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * *//*! * \file * \brief Render context implementation that does no rendering. *//*--------------------------------------------------------------------*/ #include "tcuDefs.hpp" #include "gluRenderContext.hpp" #include "tcuRenderTarget.hpp" #include "glwFunctions.hpp" namespace glu { class Platform; struct RenderConfig; } // glu namespace tcu { namespace null { class Context; /*--------------------------------------------------------------------*//*! * \brief Dummy render context. * * Dummy render context implements basic object management functionality * but doesn't do actual rendering. It is intended to be used for * checking test code for memory access and initialization bugs. *//*--------------------------------------------------------------------*/ class RenderContext : public glu::RenderContext { public: RenderContext (const glu::RenderConfig& config); virtual ~RenderContext (void); virtual glu::ContextType getType (void) const { return m_ctxType; } virtual const glw::Functions& getFunctions (void) const { return m_functions; } virtual const tcu::RenderTarget& getRenderTarget (void) const { return m_renderTarget; } virtual deUint32 getDefaultFramebuffer (void) const { return 0; } virtual void postIterate (void); virtual void makeCurrent (void); private: const glu::ContextType m_ctxType; const tcu::RenderTarget m_renderTarget; Context* m_context; glw::Functions m_functions; }; } // null } // tcu #endif // _TCUNULLRENDERCONTEXT_HPP