| #ifndef _ESEXTCTEXTURECUBEMAPARRAYTEX3DVALIDATION_HPP |
| #define _ESEXTCTEXTURECUBEMAPARRAYTEX3DVALIDATION_HPP |
| /*------------------------------------------------------------------------- |
| * OpenGL Conformance Test Suite |
| * ----------------------------- |
| * |
| * Copyright (c) 2014-2016 The Khronos Group Inc. |
| * |
| * 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 |
| */ /*-------------------------------------------------------------------*/ |
| |
| /*! |
| * \file esextcTextureCubeMapArrayTex3DValidation.hpp |
| * \brief texture_cube_map_array extension - Tex3DValidation (Test 4) |
| */ /*-------------------------------------------------------------------*/ |
| |
| #include "../esextcTestCaseBase.hpp" |
| |
| namespace glcts |
| { |
| /** Implementation of Test 4 from CTS_EXT_texture_cube_map_array. |
| * Test description follows: |
| * |
| * Make sure specified errors are generated if glTexImage3D() or glTexStorage3D() |
| * is called for a GL_TEXTURE_CUBE_MAP_ARRAY_EXT texture target with invalid |
| * arguments |
| * |
| * Category: Coverage. |
| * Priority: Must-have. |
| * |
| * Make sure that GL_INVALID_VALUE error is generated if glTexImage3D() or |
| * glTexStorage3D() is called for GL_TEXTURE_CUBE_MAP_ARRAY_EXT texture target, |
| * and width or height arguments are not equal. |
| * Make sure that GL_INVALID_VALUE error is generated if glTexImage3D() or |
| * glTexStorage3D() is called for GL_TEXTURE_CUBE_MAP_ARRAY_EXT texture target, |
| * and depth is not a multiple of six. |
| * Make sure GL_INVALID_OPERATION error is generated by glTexStorage3D(), |
| * if the function is called for GL_TEXTURE_CUBE_MAP_ARRAY_EXT texture target, |
| * and levels argument is greater than floor(log2(max(width, height))) + 1; |
| **/ |
| class TextureCubeMapArrayTex3DValidation : public TestCaseBase |
| { |
| public: |
| /* Public methods */ |
| TextureCubeMapArrayTex3DValidation(Context& context, const ExtParameters& extParams, const char* name, |
| const char* description); |
| |
| virtual ~TextureCubeMapArrayTex3DValidation(void) |
| { |
| } |
| |
| virtual void deinit(void); |
| virtual IterateResult iterate(void); |
| |
| private: |
| /* Private methods */ |
| bool checkError(glw::GLint expectedError, const char* message); |
| void createTexture(void); |
| void deleteTexture(void); |
| |
| /* Private variables */ |
| glw::GLuint m_to_id; |
| }; |
| |
| } /* glcts */ |
| |
| #endif // _ESEXTCTEXTURECUBEMAPARRAYTEX3DVALIDATION_HPP |