1 #ifndef _ESEXTCDRAWBUFFERSINDEXEDBLENDING_HPP 2 #define _ESEXTCDRAWBUFFERSINDEXEDBLENDING_HPP 3 /*------------------------------------------------------------------------- 4 * OpenGL Conformance Test Suite 5 * ----------------------------- 6 * 7 * Copyright (c) 2015-2016 The Khronos Group Inc. 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 24 */ /*-------------------------------------------------------------------*/ 25 26 /*! 27 * \file esextcDrawBuffersIndexedBlending.hpp 28 * \brief Draw Buffers Indexed tests 5. Blending 29 */ /*-------------------------------------------------------------------*/ 30 31 #include "esextcDrawBuffersIndexedBase.hpp" 32 #include "tcuSurface.hpp" 33 #include <string> 34 35 namespace glcts 36 { 37 38 /** 5. Blending 39 **/ 40 class DrawBuffersIndexedBlending : public DrawBuffersIndexedBase 41 { 42 public: 43 /** Public methods 44 **/ 45 DrawBuffersIndexedBlending(Context& context, const ExtParameters& extParams, const char* name, 46 const char* description); 47 ~DrawBuffersIndexedBlending()48 virtual ~DrawBuffersIndexedBlending() 49 { 50 } 51 52 private: 53 /** Private methods 54 **/ 55 virtual IterateResult iterate(); 56 57 void prepareFramebuffer(void); 58 void releaseFramebuffer(void); 59 std::string GenVS(); 60 std::string GenFS(int maxDrawBuffers); 61 unsigned int NumComponents(glw::GLenum format); 62 tcu::RGBA GetEpsilon(); 63 bool VerifyImg(const tcu::TextureLevel& textureLevel, tcu::RGBA expectedColor, tcu::RGBA epsilon); 64 65 glw::GLuint m_fbo; 66 }; 67 68 } // namespace glcts 69 70 #endif // _ESEXTCDRAWBUFFERSINDEXEDBLENDING_HPP 71