• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*-------------------------------------------------------------------------
2  * OpenGL Conformance Test Suite
3  * -----------------------------
4  *
5  * Copyright (c) 2014-2016 The Khronos Group Inc.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */ /*!
20  * \file
21  * \brief
22  */ /*-------------------------------------------------------------------*/
23 
24 /*!
25  * \file esextcTextureBorderClampSamplingTextureGroup.cpp
26  * \brief Test Group for Texture Border Clamp Sampling Texture Tests (Test 7)
27  */ /*-------------------------------------------------------------------*/
28 
29 #include "esextcTextureBorderClampSamplingTextureGroup.hpp"
30 #include "esextcTextureBorderClampSamplingTexture.cpp"
31 #include "glwEnums.hpp"
32 
33 namespace glcts
34 {
35 
36 /** Constructor
37  *
38  * @param context       Test context
39  * @param glslVersion   GLSL version
40  **/
TextureBorderClampSamplingTextureGroup(glcts::Context & context,const ExtParameters & extParams)41 TextureBorderClampSamplingTextureGroup::TextureBorderClampSamplingTextureGroup(glcts::Context&		context,
42 																			   const ExtParameters& extParams)
43 	: TestCaseGroupBase(context, extParams, "sampling_texture", "Texture Border Clamp Sampling Texture Tests")
44 {
45 	/* No implementation needed */
46 }
47 
48 /** Initializes test cases for Texture Border Clamp Sampling Texture (Test 7)
49  **/
init(void)50 void TextureBorderClampSamplingTextureGroup::init(void)
51 {
52 	/* Initialize base class */
53 	TestCaseGroupBase::init();
54 
55 	/* Filtering GL_NEAREST */
56 
57 	/* Target GL_TEXTURE_2D */
58 
59 	/* GL_RGBA32F */
60 	TestConfiguration<glw::GLfloat, glw::GLubyte> configurationTexture2DRGBA32F(
61 		4, 4, GL_TEXTURE_2D, GL_RGBA32F, GL_RGBA8, GL_NEAREST, GL_RGBA, GL_RGBA, 256, 256, 1, 0.0f, 1.0f, 0, 255,
62 		GL_FLOAT, GL_UNSIGNED_BYTE);
63 
64 	addChild(new TextureBorderClampSamplingTexture<glw::GLfloat, glw::GLubyte>(
65 		m_context, m_extParams, "Texture2DRGBA32F", "Test 7", configurationTexture2DRGBA32F));
66 
67 	/* GL_R32I */
68 	TestConfiguration<glw::GLint, glw::GLint> configurationTexture2DR32I(1, 4, GL_TEXTURE_2D, GL_R32I, GL_R32I,
69 																		 GL_NEAREST, GL_RED_INTEGER, GL_RGBA_INTEGER,
70 																		 256, 256, 1, 0, 255, 0, 255, GL_INT, GL_INT);
71 
72 	addChild(new TextureBorderClampSamplingTexture<glw::GLint, glw::GLint>(m_context, m_extParams, "Texture2DR32I",
73 																		   "Test 7", configurationTexture2DR32I));
74 
75 	/* GL_R32UI */
76 	TestConfiguration<glw::GLuint, glw::GLuint> configurationTexture2DR32UI(
77 		1, 4, GL_TEXTURE_2D, GL_R32UI, GL_R32UI, GL_NEAREST, GL_RED_INTEGER, GL_RGBA_INTEGER, 256, 256, 1, 0, 255, 0,
78 		255, GL_UNSIGNED_INT, GL_UNSIGNED_INT);
79 
80 	addChild(new TextureBorderClampSamplingTexture<glw::GLuint, glw::GLuint>(m_context, m_extParams, "Texture2DR32UI",
81 																			 "Test 7", configurationTexture2DR32UI));
82 
83 	/* GL_RGBA8 */
84 	TestConfiguration<glw::GLubyte, glw::GLubyte> configurationTexture2DRGBA8(
85 		4, 4, GL_TEXTURE_2D, GL_RGBA8, GL_RGBA8, GL_NEAREST, GL_RGBA, GL_RGBA, 256, 256, 1, 0, 255, 0, 255,
86 		GL_UNSIGNED_BYTE, GL_UNSIGNED_BYTE);
87 
88 	addChild(new TextureBorderClampSamplingTexture<glw::GLubyte, glw::GLubyte>(m_context, m_extParams, "Texture2DRGBA8",
89 																			   "Test 7", configurationTexture2DRGBA8));
90 
91 	/* GL_DEPTH_COMPONENT32F */
92 	TestConfiguration<glw::GLfloat, glw::GLubyte> configurationTexture2DDC32F(
93 		1, 1, GL_TEXTURE_2D, GL_DEPTH_COMPONENT32F, GL_R8, GL_NEAREST, GL_DEPTH_COMPONENT, GL_RED, 256, 256, 1, 0, 255,
94 		0, 255, GL_FLOAT, GL_UNSIGNED_BYTE);
95 
96 	addChild(new TextureBorderClampSamplingTexture<glw::GLfloat, glw::GLubyte>(m_context, m_extParams, "Texture2DDC32F",
97 																			   "Test 7", configurationTexture2DDC32F));
98 
99 	/* GL_DEPTH_COMPONENT16 */
100 	TestConfiguration<glw::GLushort, glw::GLubyte> configurationTexture2DDC16(
101 		1, 1, GL_TEXTURE_2D, GL_DEPTH_COMPONENT16, GL_R8, GL_NEAREST, GL_DEPTH_COMPONENT, GL_RED, 256, 256, 1, 0, 255,
102 		0, 255, GL_UNSIGNED_SHORT, GL_UNSIGNED_BYTE);
103 
104 	addChild(new TextureBorderClampSamplingTexture<glw::GLushort, glw::GLubyte>(m_context, m_extParams, "Texture2DDC16",
105 																				"Test 7", configurationTexture2DDC16));
106 
107 	/* GL_COMPRESSED_RGBA8_ETC2_EAC */
108 	TestConfiguration<glw::GLfloat, glw::GLubyte> configurationTexture2DCompressed(
109 		4, 4, GL_TEXTURE_2D, GL_COMPRESSED_RGBA8_ETC2_EAC, GL_RGBA8, GL_NEAREST, GL_RGBA, GL_RGBA, 64, 64, 1, 0, 1, 0,
110 		255, GL_FLOAT, GL_UNSIGNED_BYTE);
111 
112 	addChild(new TextureBorderClampSamplingTexture<glw::GLfloat, glw::GLubyte>(
113 		m_context, m_extParams, "Texture2DCompressed", "Test 7", configurationTexture2DCompressed));
114 
115 	/* Target GL_TEXTURE_2D_ARRAY */
116 
117 	/* GL_RGBA32F */
118 	TestConfiguration<glw::GLfloat, glw::GLubyte> configurationTexture2DArrayRGBA32F(
119 		4, 4, GL_TEXTURE_2D_ARRAY, GL_RGBA32F, GL_RGBA8, GL_NEAREST, GL_RGBA, GL_RGBA, 256, 256, 6, 0.0f, 1.0f, 0, 255,
120 		GL_FLOAT, GL_UNSIGNED_BYTE);
121 
122 	addChild(new TextureBorderClampSamplingTexture<glw::GLfloat, glw::GLubyte>(
123 		m_context, m_extParams, "Texture2DArrayRGBA32F", "Test 7", configurationTexture2DArrayRGBA32F));
124 
125 	/* GL_R32I */
126 	TestConfiguration<glw::GLint, glw::GLint> configurationTexture2DArrayR32I(
127 		1, 4, GL_TEXTURE_2D_ARRAY, GL_R32I, GL_R32I, GL_NEAREST, GL_RED_INTEGER, GL_RGBA_INTEGER, 256, 256, 6, 0, 255,
128 		0, 255, GL_INT, GL_INT);
129 
130 	addChild(new TextureBorderClampSamplingTexture<glw::GLint, glw::GLint>(m_context, m_extParams, "Texture2DArrayR32I",
131 																		   "Test 7", configurationTexture2DArrayR32I));
132 
133 	/* GL_R32UI */
134 	TestConfiguration<glw::GLuint, glw::GLuint> configurationTexture2DArrayR32UI(
135 		1, 4, GL_TEXTURE_2D_ARRAY, GL_R32UI, GL_R32UI, GL_NEAREST, GL_RED_INTEGER, GL_RGBA_INTEGER, 256, 256, 6, 0, 255,
136 		0, 255, GL_UNSIGNED_INT, GL_UNSIGNED_INT);
137 
138 	addChild(new TextureBorderClampSamplingTexture<glw::GLuint, glw::GLuint>(
139 		m_context, m_extParams, "Texture2DArrayR32UI", "Test 7", configurationTexture2DArrayR32UI));
140 
141 	/* GL_RGBA8 */
142 	TestConfiguration<glw::GLubyte, glw::GLubyte> configurationTexture2DArrayRGBA8(
143 		4, 4, GL_TEXTURE_2D_ARRAY, GL_RGBA8, GL_RGBA8, GL_NEAREST, GL_RGBA, GL_RGBA, 256, 256, 6, 0, 255, 0, 255,
144 		GL_UNSIGNED_BYTE, GL_UNSIGNED_BYTE);
145 
146 	addChild(new TextureBorderClampSamplingTexture<glw::GLubyte, glw::GLubyte>(
147 		m_context, m_extParams, "Texture2DArrayRGBA8", "Test 7", configurationTexture2DArrayRGBA8));
148 
149 	/* GL_COMPRESSED_RGBA8_ETC2_EAC */
150 	TestConfiguration<glw::GLfloat, glw::GLubyte> configurationTexture2DArrayCompressed(
151 		4, 4, GL_TEXTURE_2D_ARRAY, GL_COMPRESSED_RGBA8_ETC2_EAC, GL_RGBA8, GL_NEAREST, GL_RGBA, GL_RGBA, 64, 64, 6, 0,
152 		1, 0, 255, GL_FLOAT, GL_UNSIGNED_BYTE);
153 
154 	addChild(new TextureBorderClampSamplingTexture<glw::GLfloat, glw::GLubyte>(
155 		m_context, m_extParams, "Texture2DArrayCompressed", "Test 7", configurationTexture2DArrayCompressed));
156 
157 	/* Target GL_TEXTURE_3D */
158 
159 	/* GL_RGBA32F */
160 	TestConfiguration<glw::GLfloat, glw::GLubyte> configurationTexture3DRGBA32F(
161 		4, 4, GL_TEXTURE_3D, GL_RGBA32F, GL_RGBA8, GL_NEAREST, GL_RGBA, GL_RGBA, 256, 256, 6, 0.0f, 1.0f, 0, 255,
162 		GL_FLOAT, GL_UNSIGNED_BYTE);
163 
164 	addChild(new TextureBorderClampSamplingTexture<glw::GLfloat, glw::GLubyte>(
165 		m_context, m_extParams, "Texture3DRGBA32F", "Test 7", configurationTexture3DRGBA32F));
166 
167 	/* GL_R32I */
168 	TestConfiguration<glw::GLint, glw::GLint> configurationTexture3DR32I(1, 4, GL_TEXTURE_3D, GL_R32I, GL_R32I,
169 																		 GL_NEAREST, GL_RED_INTEGER, GL_RGBA_INTEGER,
170 																		 256, 256, 6, 0, 255, 0, 255, GL_INT, GL_INT);
171 
172 	addChild(new TextureBorderClampSamplingTexture<glw::GLint, glw::GLint>(m_context, m_extParams, "Texture3DR32I",
173 																		   "Test 7", configurationTexture3DR32I));
174 
175 	/* GL_R32UI */
176 	TestConfiguration<glw::GLuint, glw::GLuint> configurationTexture3DR32UI(
177 		1, 4, GL_TEXTURE_3D, GL_R32UI, GL_R32UI, GL_NEAREST, GL_RED_INTEGER, GL_RGBA_INTEGER, 256, 256, 6, 0, 255, 0,
178 		255, GL_UNSIGNED_INT, GL_UNSIGNED_INT);
179 
180 	addChild(new TextureBorderClampSamplingTexture<glw::GLuint, glw::GLuint>(m_context, m_extParams, "Texture3DR32UI",
181 																			 "Test 7", configurationTexture3DR32UI));
182 
183 	/* GL_RGBA8 */
184 	TestConfiguration<glw::GLubyte, glw::GLubyte> configurationTexture3DRGBA8(
185 		4, 4, GL_TEXTURE_3D, GL_RGBA8, GL_RGBA8, GL_NEAREST, GL_RGBA, GL_RGBA, 256, 256, 6, 0, 255, 0, 255,
186 		GL_UNSIGNED_BYTE, GL_UNSIGNED_BYTE);
187 
188 	addChild(new TextureBorderClampSamplingTexture<glw::GLubyte, glw::GLubyte>(m_context, m_extParams, "Texture3DRGBA8",
189 																			   "Test 7", configurationTexture3DRGBA8));
190 
191 	/* Filtering GL_LINEAR */
192 
193 	/* Target GL_TEXTURE_2D */
194 
195 	/* GL_RGBA32F */
196 	TestConfiguration<glw::GLfloat, glw::GLubyte> configurationTexture2DRGBA32FLinear(
197 		4, 4, GL_TEXTURE_2D, GL_RGBA32F, GL_RGBA8, GL_LINEAR, GL_RGBA, GL_RGBA, 256, 256, 1, 0.0f, 1.0f, 0, 255,
198 		GL_FLOAT, GL_UNSIGNED_BYTE);
199 
200 	addChild(new TextureBorderClampSamplingTexture<glw::GLfloat, glw::GLubyte>(
201 		m_context, m_extParams, "Texture2DRGBA32FLinear", "Test 7", configurationTexture2DRGBA32FLinear));
202 
203 	/* GL_RGBA8 */
204 	TestConfiguration<glw::GLubyte, glw::GLubyte> configurationTexture2DRGBA8Linear(
205 		4, 4, GL_TEXTURE_2D, GL_RGBA8, GL_RGBA8, GL_LINEAR, GL_RGBA, GL_RGBA, 256, 256, 1, 0, 255, 0, 255,
206 		GL_UNSIGNED_BYTE, GL_UNSIGNED_BYTE);
207 
208 	addChild(new TextureBorderClampSamplingTexture<glw::GLubyte, glw::GLubyte>(
209 		m_context, m_extParams, "Texture2DRGBA8Linear", "Test 7", configurationTexture2DRGBA8Linear));
210 
211 	/* GL_DEPTH_COMPONENT32F */
212 	TestConfiguration<glw::GLfloat, glw::GLubyte> configurationTexture2DDC32FLinear(
213 		1, 1, GL_TEXTURE_2D, GL_DEPTH_COMPONENT32F, GL_R8, GL_LINEAR, GL_DEPTH_COMPONENT, GL_RED, 256, 256, 1, 0, 255,
214 		0, 255, GL_FLOAT, GL_UNSIGNED_BYTE);
215 
216 	addChild(new TextureBorderClampSamplingTexture<glw::GLfloat, glw::GLubyte>(
217 		m_context, m_extParams, "Texture2DDC32FLinear", "Test 7", configurationTexture2DDC32FLinear));
218 
219 	/* GL_DEPTH_COMPONENT16 */
220 	TestConfiguration<glw::GLushort, glw::GLubyte> configurationTexture2DDC16Linear(
221 		1, 1, GL_TEXTURE_2D, GL_DEPTH_COMPONENT16, GL_R8, GL_LINEAR, GL_DEPTH_COMPONENT, GL_RED, 256, 256, 1, 0, 255, 0,
222 		255, GL_UNSIGNED_SHORT, GL_UNSIGNED_BYTE);
223 
224 	addChild(new TextureBorderClampSamplingTexture<glw::GLushort, glw::GLubyte>(
225 		m_context, m_extParams, "Texture2DDC16Linear", "Test 7", configurationTexture2DDC16Linear));
226 
227 	/* GL_COMPRESSED_RGBA8_ETC2_EAC */
228 	TestConfiguration<glw::GLfloat, glw::GLubyte> configurationTexture2DCompressedLinear(
229 		4, 4, GL_TEXTURE_2D, GL_COMPRESSED_RGBA8_ETC2_EAC, GL_RGBA8, GL_LINEAR, GL_RGBA, GL_RGBA, 64, 64, 1, 0, 1, 0,
230 		255, GL_FLOAT, GL_UNSIGNED_BYTE);
231 
232 	addChild(new TextureBorderClampSamplingTexture<glw::GLfloat, glw::GLubyte>(
233 		m_context, m_extParams, "Texture2DCompressedLinear", "Test 7", configurationTexture2DCompressedLinear));
234 
235 	/* Target GL_TEXTURE_2D_ARRAY */
236 
237 	/* GL_RGBA32F */
238 	TestConfiguration<glw::GLfloat, glw::GLubyte> configurationTexture2DArrayRGBA32FLinear(
239 		4, 4, GL_TEXTURE_2D_ARRAY, GL_RGBA32F, GL_RGBA8, GL_LINEAR, GL_RGBA, GL_RGBA, 256, 256, 6, 0.0f, 1.0f, 0, 255,
240 		GL_FLOAT, GL_UNSIGNED_BYTE);
241 
242 	addChild(new TextureBorderClampSamplingTexture<glw::GLfloat, glw::GLubyte>(
243 		m_context, m_extParams, "Texture2DArrayRGBA32FLinear", "Test 7", configurationTexture2DArrayRGBA32FLinear));
244 
245 	/* GL_RGBA8 */
246 	TestConfiguration<glw::GLubyte, glw::GLubyte> configurationTexture2DArrayRGBA8Linear(
247 		4, 4, GL_TEXTURE_2D_ARRAY, GL_RGBA8, GL_RGBA8, GL_LINEAR, GL_RGBA, GL_RGBA, 256, 256, 6, 0, 255, 0, 255,
248 		GL_UNSIGNED_BYTE, GL_UNSIGNED_BYTE);
249 
250 	addChild(new TextureBorderClampSamplingTexture<glw::GLubyte, glw::GLubyte>(
251 		m_context, m_extParams, "Texture2DArrayRGBA8Linear", "Test 7", configurationTexture2DArrayRGBA8Linear));
252 
253 	/* GL_COMPRESSED_RGBA8_ETC2_EAC */
254 	TestConfiguration<glw::GLfloat, glw::GLubyte> configurationTexture2DArrayCompressedLinear(
255 		4, 4, GL_TEXTURE_2D_ARRAY, GL_COMPRESSED_RGBA8_ETC2_EAC, GL_RGBA8, GL_LINEAR, GL_RGBA, GL_RGBA, 64, 64, 6, 0, 1,
256 		0, 255, GL_FLOAT, GL_UNSIGNED_BYTE);
257 
258 	addChild(new TextureBorderClampSamplingTexture<glw::GLfloat, glw::GLubyte>(
259 		m_context, m_extParams, "Texture2DArrayCompressedLinear", "Test 7",
260 		configurationTexture2DArrayCompressedLinear));
261 
262 	/* Target GL_TEXTURE_3D*/
263 
264 	/* GL_RGBA32F */
265 	TestConfiguration<glw::GLfloat, glw::GLubyte> configurationTexture3DRGBA32FLinear(
266 		4, 4, GL_TEXTURE_3D, GL_RGBA32F, GL_RGBA8, GL_LINEAR, GL_RGBA, GL_RGBA, 256, 256, 6, 0.0f, 1.0f, 0, 255,
267 		GL_FLOAT, GL_UNSIGNED_BYTE);
268 
269 	addChild(new TextureBorderClampSamplingTexture<glw::GLfloat, glw::GLubyte>(
270 		m_context, m_extParams, "Texture3DRGBA32FLinear", "Test 7", configurationTexture3DRGBA32FLinear));
271 
272 	/* GL_RGBA8 */
273 	TestConfiguration<glw::GLubyte, glw::GLubyte> configurationTexture3DRGBA8Linear(
274 		4, 4, GL_TEXTURE_3D, GL_RGBA8, GL_RGBA8, GL_LINEAR, GL_RGBA, GL_RGBA, 256, 256, 6, 0, 255, 0, 255,
275 		GL_UNSIGNED_BYTE, GL_UNSIGNED_BYTE);
276 
277 	addChild(new TextureBorderClampSamplingTexture<glw::GLubyte, glw::GLubyte>(
278 		m_context, m_extParams, "Texture3DRGBA8Linear", "Test 7", configurationTexture3DRGBA8Linear));
279 }
280 
281 } // namespace glcts
282