1 #ifndef _TES31CONTEXT_HPP 2 #define _TES31CONTEXT_HPP 3 /*------------------------------------------------------------------------- 4 * drawElements Quality Program OpenGL ES 3.1 Module 5 * ------------------------------------------------- 6 * 7 * Copyright 2014 The Android Open Source Project 8 * 9 * Licensed under the Apache License, Version 2.0 (the "License"); 10 * you may not use this file except in compliance with the License. 11 * You may obtain a copy of the License at 12 * 13 * http://www.apache.org/licenses/LICENSE-2.0 14 * 15 * Unless required by applicable law or agreed to in writing, software 16 * distributed under the License is distributed on an "AS IS" BASIS, 17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 * See the License for the specific language governing permissions and 19 * limitations under the License. 20 * 21 *//*! 22 * \file 23 * \brief OpenGL ES 3.1 test context. 24 *//*--------------------------------------------------------------------*/ 25 26 #include "tcuDefs.hpp" 27 #include "tcuTestContext.hpp" 28 #include "gluRenderContext.hpp" 29 30 namespace glu 31 { 32 class RenderContext; 33 class ContextInfo; 34 } 35 36 namespace tcu 37 { 38 class RenderTarget; 39 } 40 41 namespace deqp 42 { 43 namespace gles31 44 { 45 46 class Context 47 { 48 public: 49 Context (tcu::TestContext& testCtx, glu::ApiType apiType = glu::ApiType::es(3,2)); 50 ~Context (void); 51 getTestContext(void)52 tcu::TestContext& getTestContext (void) { return m_testCtx; } getRenderContext(void)53 glu::RenderContext& getRenderContext (void) { return *m_renderCtx; } getContextInfo(void) const54 const glu::ContextInfo& getContextInfo (void) const { return *m_contextInfo; } 55 const tcu::RenderTarget& getRenderTarget (void) const; 56 57 private: 58 Context (const Context& other); 59 Context& operator= (const Context& other); 60 61 void createRenderContext (void); 62 void destroyRenderContext (void); 63 64 tcu::TestContext& m_testCtx; 65 glu::RenderContext* m_renderCtx; 66 glu::ContextInfo* m_contextInfo; 67 glu::ApiType m_apiType; 68 }; 69 70 } // gles31 71 } // deqp 72 73 #endif // _TES31CONTEXT_HPP 74