Home | History | Annotate | Download | only in texture_border_clamp
      1 #ifndef _ESEXTCTEXTUREBORDERCLAMPGETTEXPARAMETERIERRORS_HPP
      2 #define _ESEXTCTEXTUREBORDERCLAMPGETTEXPARAMETERIERRORS_HPP
      3 /*-------------------------------------------------------------------------
      4  * OpenGL Conformance Test Suite
      5  * -----------------------------
      6  *
      7  * Copyright (c) 2014-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 esextcTextureBorderClampGetTexParameterIErrors.hpp
     28  * \brief Texture Border Clamp glGetTexParameterIivEXT(), glGetTexParameterIuivEXT() Errors (Test 3)
     29  */ /*-------------------------------------------------------------------*/
     30 
     31 #include "esextcTextureBorderClampBase.hpp"
     32 #include <vector>
     33 
     34 namespace glcts
     35 {
     36 
     37 /**  Implementation of Test 3 from CTS_EXT_texture_border_clamp. Description follows
     38  *
     39  *    Verify glGetTexParameterIivEXT() and glGetTexParameterIuivEXT() report errors
     40  *    as per spec.
     41  *
     42  *    Category: Negative tests,
     43  *              Optional dependency on EXT_texture_buffer,
     44  *              Optional dependency on OES_texture_storage_multisample_2d_array.
     45  *    Priority: Must-have.
     46  *
     47  *    Make sure the functions report GL_INVALID_ENUM error if cube-map face
     48  *    texture targets or GL_TEXTURE_BUFFER_EXT (if supported) are used as
     49  *    a texture target.
     50  *
     51  */
     52 class TextureBorderClampGetTexParameterIErrorsTest : public TextureBorderClampBase
     53 {
     54 public:
     55 	/* Public methods */
     56 	TextureBorderClampGetTexParameterIErrorsTest(Context& context, const ExtParameters& extParams, const char* name,
     57 												 const char* description);
     58 
     59 	virtual ~TextureBorderClampGetTexParameterIErrorsTest()
     60 	{
     61 	}
     62 
     63 	virtual IterateResult iterate(void);
     64 
     65 private:
     66 	/* Private methods */
     67 	virtual void initTest(void);
     68 
     69 	void CheckAllNames(glw::GLenum target, glw::GLenum expected_error);
     70 	void VerifyGLGetTexParameterIiv(glw::GLenum target, glw::GLenum pname, glw::GLenum expected_error);
     71 	void VerifyGLGetTexParameterIuiv(glw::GLenum target, glw::GLenum pname, glw::GLenum expected_error);
     72 
     73 	/* Private variables */
     74 	glw::GLboolean m_test_passed;
     75 
     76 	/* Private static variables */
     77 	static const glw::GLuint m_buffer_size;
     78 
     79 	std::vector<glw::GLenum> m_pname_list;
     80 };
     81 
     82 } // namespace glcts
     83 
     84 #endif // _ESEXTCTEXTUREBORDERCLAMPGETTEXPARAMETERIERRORS_HPP
     85