blob: 2bb6571e7f7d9cc134710d01a68797eec4b82f44 [file] [log] [blame]
#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