1 #ifndef _ES31CTEXTURESTORAGEMULTISAMPLEGLCOVERAGETESTS_HPP
2 #define _ES31CTEXTURESTORAGEMULTISAMPLEGLCOVERAGETESTS_HPP
3 /*-------------------------------------------------------------------------
4 * OpenGL Conformance Test Suite
5 * -----------------------------
7 * Copyright (c) 2014-2016 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 es31cTextureStorageMultisampleGLCoverageTests.hpp
29 * \brief Declares test classes for coverage conformance tests for
30 * multisample texture functionality (ES3.1 only)
31 */ /*-------------------------------------------------------------------*/
33 #include "es31cTextureStorageMultisampleTests.hpp"
37 /** Test case: GL_MAX_SAMPLE_MASK_WORDS, GL_MAX_COLOR_TEXTURE_SAMPLES,
38 * GL_MAX_DEPTH_TEXTURE_SAMPLES, GL_MAX_INTEGER_SAMPLES,
39 * GL_TEXTURE_BINDING_2D_MULTISAMPLE and GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES
40 * are recognized by glGet*() functions.
42 class GLCoverageExtensionSpecificEnumsAreRecognizedTest : public glcts::TestCase
46 GLCoverageExtensionSpecificEnumsAreRecognizedTest(Context& context);
48 virtual void deinit();
49 virtual tcu::TestNode::IterateResult iterate();
55 glw::GLboolean gl_oes_texture_storage_multisample_2d_array_supported;
56 glw::GLuint to_id_2d_multisample;
57 glw::GLuint to_id_2d_multisample_array;
60 /** Test case: glGetTexParameter*() should accept GL_TEXTURE_2D_MULTISAMPLE
61 and GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES texture targets. Default
62 state information should be as per-spec for both targets.
64 class GLCoverageGLGetTexParameterReportsCorrectDefaultValuesForMultisampleTextureTargets : public glcts::TestCase
68 GLCoverageGLGetTexParameterReportsCorrectDefaultValuesForMultisampleTextureTargets(Context& context);
70 virtual void deinit();
71 virtual tcu::TestNode::IterateResult iterate();
75 glw::GLboolean gl_oes_texture_storage_multisample_2d_array_supported;
77 glw::GLuint to_id_2d_array;
80 /** Test case: Checks disabled/enabled status of GL_SAMPLE_MASK mode is reported correctly.
82 class GLCoverageGLSampleMaskModeStatusIsReportedCorrectlyTest : public glcts::TestCase
86 GLCoverageGLSampleMaskModeStatusIsReportedCorrectlyTest(Context& context);
88 virtual tcu::TestNode::IterateResult iterate();
91 /** Test case: glTexParameter*() should not generate an error if application
92 * attempts to set zero texture mipmap base level for
93 * GL_TEXTURE_2D_MULTISAMPLE and
94 * GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES
97 class GLCoverageGLTexParameterHandlersAcceptZeroBaseLevelForExtensionSpecificTextureTargetsTest : public glcts::TestCase
101 GLCoverageGLTexParameterHandlersAcceptZeroBaseLevelForExtensionSpecificTextureTargetsTest(Context& context);
103 virtual void deinit();
104 virtual tcu::TestNode::IterateResult iterate();
107 /* Private methods */
108 void initInternals();
110 /* Private variables */
111 bool are_2d_array_multisample_tos_supported;
112 glw::GLuint to_id_2d;
113 glw::GLuint to_id_2d_array;
115 } /* glcts namespace */
117 #endif // _ES31CTEXTURESTORAGEMULTISAMPLEGLCOVERAGETESTS_HPP