Update Vulkan CTS to version 1.0.2.3 am: 148890e79f
[platform/upstream/VK-GL-CTS.git] / external / openglcts / modules / gles31 / es31cTextureStorageMultisampleGetMultisamplefvTests.hpp
1 #ifndef _ES31CTEXTURESTORAGEMULTISAMPLEGETMULTISAMPLEFVTESTS_HPP
2 #define _ES31CTEXTURESTORAGEMULTISAMPLEGETMULTISAMPLEFVTESTS_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  es31cTextureStorageMultisampleGetMultisamplefvTests.hpp
29  * \brief Declares test classes for glGetMultisamplefv() conformance
30  *        tests. (ES3.1 only)
31  */ /*-------------------------------------------------------------------*/
32
33 #include "es31cTextureStorageMultisampleTests.hpp"
34
35 namespace glcts
36 {
37 /** Test case: GL_INVALID_VALUE error is reported if index argument is equal to GL_SAMPLES value */
38 class MultisampleTextureGetMultisamplefvIndexEqualGLSamplesRejectedTest : public glcts::TestCase
39 {
40 public:
41         /* Public methods */
42         MultisampleTextureGetMultisamplefvIndexEqualGLSamplesRejectedTest(Context& context);
43
44         virtual tcu::TestNode::IterateResult iterate();
45 };
46
47 /** Test case: GL_INVALID_VALUE error is reported if index argument is greater than GL_SAMPLES value */
48 class MultisampleTextureGetMultisamplefvIndexGreaterGLSamplesRejectedTest : public glcts::TestCase
49 {
50 public:
51         /* Public methods */
52         MultisampleTextureGetMultisamplefvIndexGreaterGLSamplesRejectedTest(Context& context);
53
54         virtual tcu::TestNode::IterateResult iterate();
55 };
56
57 /** Test case: GL_INVALID_ENUM error is reported for invalid pname.*/
58 class MultisampleTextureGetMultisamplefvInvalidPnameRejectedTest : public glcts::TestCase
59 {
60 public:
61         /* Public methods */
62         MultisampleTextureGetMultisamplefvInvalidPnameRejectedTest(Context& context);
63
64         virtual tcu::TestNode::IterateResult iterate();
65 };
66
67 /** Test case: NULL val arguments accepted for valid glGetMultisamplefv() calls. */
68 class MultisampleTextureGetMultisamplefvNullValArgumentsAcceptedTest : public glcts::TestCase
69 {
70 public:
71         /* Public methods */
72         MultisampleTextureGetMultisamplefvNullValArgumentsAcceptedTest(Context& context);
73
74         virtual tcu::TestNode::IterateResult iterate();
75         virtual void                                             deinit();
76
77 private:
78         glw::GLuint fbo_id;
79         glw::GLuint to_2d_multisample_id;
80 };
81
82 /** Test case: Spec-wise correct values are reported for valid
83  *             calls with GL_SAMPLE_POSITION pname.
84  **/
85 class MultisampleTextureGetMultisamplefvSamplePositionValuesValidationTest : public glcts::TestCase
86 {
87 public:
88         /* Public methods */
89         MultisampleTextureGetMultisamplefvSamplePositionValuesValidationTest(Context& context);
90
91         virtual tcu::TestNode::IterateResult iterate();
92 };
93 } /* glcts namespace */
94
95 #endif // _ES31CTEXTURESTORAGEMULTISAMPLEGETMULTISAMPLEFVTESTS_HPP