1 #ifndef _GLCTEXTUREFILTERANISOTROPICTESTS_HPP
2 #define _GLCTEXTUREFILTERANISOTROPICTESTS_HPP
3 /*-------------------------------------------------------------------------
4 * OpenGL Conformance Test Suite
5 * -----------------------------
7 * Copyright (c) 2017 The Khronos Group Inc.
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
13 * http://www.apache.org/licenses/LICENSE-2.0
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.
24 */ /*-------------------------------------------------------------------*/
28 * \file glcTextureFilterAnisotropicTests.hpp
29 * \brief Conformance tests for the GL_EXT_texture_filter_anisotropic functionality.
30 */ /*-------------------------------------------------------------------*/
31 #include "glcTestCase.hpp"
32 #include "glwDefs.hpp"
33 #include "tcuDefs.hpp"
41 class TextureFilterAnisotropicQueriesTestCase : public deqp::TestCase
45 TextureFilterAnisotropicQueriesTestCase(deqp::Context& context);
49 tcu::TestNode::IterateResult iterate();
53 bool verifyTexParameters(const glw::Functions& gl);
54 bool verifyGet(const glw::Functions& gl);
59 class TextureFilterAnisotropicDrawingTestCase : public deqp::TestCase
63 TextureFilterAnisotropicDrawingTestCase(deqp::Context& context);
67 tcu::TestNode::IterateResult iterate();
71 void generateTexture(const glw::Functions& gl, GLenum target);
72 void fillTexture(const glw::Functions& gl, GLenum target, GLenum internalFormat);
73 bool drawTexture(const glw::Functions& gl, GLenum target, GLfloat anisoDegree);
74 GLuint verifyScene(const glw::Functions& gl);
75 void releaseTexture(const glw::Functions& gl);
77 void generateTokens(GLenum target, std::string& refTexCoordType, std::string& refSamplerType);
81 const char* m_fragment;
83 std::vector<GLenum> m_supportedTargets;
84 std::vector<GLenum> m_supportedInternalFormats;
89 /** Test group which encapsulates all conformance tests */
90 class TextureFilterAnisotropicTests : public deqp::TestCaseGroup
94 TextureFilterAnisotropicTests(deqp::Context& context);
99 TextureFilterAnisotropicTests(const TextureFilterAnisotropicTests& other);
100 TextureFilterAnisotropicTests& operator=(const TextureFilterAnisotropicTests& other);
103 } /* glcts namespace */
105 #endif // _GLCTEXTUREFILTERANISOTROPICTESTS_HPP