• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
96