1 #ifndef _ES31CTEXTURESTORAGEMULTISAMPLEGLCOVERAGETESTS_HPP 2 #define _ES31CTEXTURESTORAGEMULTISAMPLEGLCOVERAGETESTS_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 */ /*! 28 * \file es31cTextureStorageMultisampleGLCoverageTests.hpp 29 * \brief Declares test classes for coverage conformance tests for 30 * multisample texture functionality (ES3.1 only) 31 */ /*-------------------------------------------------------------------*/ 32 33 #include "es31cTextureStorageMultisampleTests.hpp" 34 35 namespace glcts 36 { 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. 41 */ 42 class GLCoverageExtensionSpecificEnumsAreRecognizedTest : public glcts::TestCase 43 { 44 public: 45 /* Public methods */ 46 GLCoverageExtensionSpecificEnumsAreRecognizedTest(Context& context); 47 48 virtual void deinit(); 49 virtual tcu::TestNode::IterateResult iterate(); 50 51 private: 52 /* Private methods */ 53 54 /* Private fields */ 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; 58 }; 59 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. 63 */ 64 class GLCoverageGLGetTexParameterReportsCorrectDefaultValuesForMultisampleTextureTargets : public glcts::TestCase 65 { 66 public: 67 /* Public methods */ 68 GLCoverageGLGetTexParameterReportsCorrectDefaultValuesForMultisampleTextureTargets(Context& context); 69 70 virtual void deinit(); 71 virtual tcu::TestNode::IterateResult iterate(); 72 73 private: 74 /* Private methods */ 75 glw::GLboolean gl_oes_texture_storage_multisample_2d_array_supported; 76 glw::GLuint to_id_2d; 77 glw::GLuint to_id_2d_array; 78 }; 79 80 /** Test case: Checks disabled/enabled status of GL_SAMPLE_MASK mode is reported correctly. 81 */ 82 class GLCoverageGLSampleMaskModeStatusIsReportedCorrectlyTest : public glcts::TestCase 83 { 84 public: 85 /* Public methods */ 86 GLCoverageGLSampleMaskModeStatusIsReportedCorrectlyTest(Context& context); 87 88 virtual tcu::TestNode::IterateResult iterate(); 89 }; 90 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 95 * texture targets. 96 */ 97 class GLCoverageGLTexParameterHandlersAcceptZeroBaseLevelForExtensionSpecificTextureTargetsTest : public glcts::TestCase 98 { 99 public: 100 /* Public methods */ 101 GLCoverageGLTexParameterHandlersAcceptZeroBaseLevelForExtensionSpecificTextureTargetsTest(Context& context); 102 103 virtual void deinit(); 104 virtual tcu::TestNode::IterateResult iterate(); 105 106 private: 107 /* Private methods */ 108 void initInternals(); 109 110 /* Private variables */ 111 bool are_2d_array_multisample_tos_supported; 112 glw::GLuint to_id_2d; 113 glw::GLuint to_id_2d_array; 114 }; 115 } /* glcts namespace */ 116 117 #endif // _ES31CTEXTURESTORAGEMULTISAMPLEGLCOVERAGETESTS_HPP 118