1 /*-------------------------------------------------------------------------
2 * OpenGL Conformance Test Suite
3 * -----------------------------
4 *
5 * Copyright (c) 2015-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 */ /*!
26 * \file gl4cDirectStateAccessTest.cpp
27 * \brief Conformance tests for the Direct State Access feature functionality.
28 */ /*-----------------------------------------------------------------------------*/
29
30 /* Includes. */
31 #include "gl4cDirectStateAccessTests.hpp"
32
33 #include "deSharedPtr.hpp"
34
35 #include "gluContextInfo.hpp"
36 #include "gluDefs.hpp"
37 #include "gluPixelTransfer.hpp"
38
39 #include "tcuFuzzyImageCompare.hpp"
40 #include "tcuImageCompare.hpp"
41 #include "tcuRenderTarget.hpp"
42 #include "tcuSurface.hpp"
43 #include "tcuTestLog.hpp"
44
45 #include "glw.h"
46 #include "glwFunctions.hpp"
47
48 namespace gl4cts
49 {
50 namespace DirectStateAccess
51 {
52
53 /** @brief Direct State Access Tests Group constructor.
54 *
55 * @param [in] context OpenGL context.
56 */
Tests(deqp::Context & context)57 Tests::Tests(deqp::Context& context) : TestCaseGroup(context, "direct_state_access", "Direct State Access Tests Suite")
58 {
59 }
60
61 /** @brief Direct State Access Tests initializer. */
init()62 void Tests::init()
63 {
64 /* Direct State Access of Transform Feedback Objects */
65 addChild(new TransformFeedback::CreationTest(m_context));
66 addChild(new TransformFeedback::DefaultsTest(m_context));
67 addChild(new TransformFeedback::BuffersTest(m_context));
68 addChild(new TransformFeedback::ErrorsTest(m_context));
69 addChild(new TransformFeedback::FunctionalTest(m_context));
70
71 /* Direct State Access of Sampler Objects */
72 addChild(new Samplers::CreationTest(m_context));
73 addChild(new Samplers::DefaultsTest(m_context));
74 addChild(new Samplers::ErrorsTest(m_context));
75 addChild(new Samplers::FunctionalTest(m_context));
76
77 /* Direct State Access of Program Pipeline Objects */
78 addChild(new ProgramPipelines::CreationTest(m_context));
79 addChild(new ProgramPipelines::DefaultsTest(m_context));
80 addChild(new ProgramPipelines::ErrorsTest(m_context));
81 addChild(new ProgramPipelines::FunctionalTest(m_context));
82
83 /* Direct State Access of Query Objects */
84 addChild(new Queries::CreationTest(m_context));
85 addChild(new Queries::DefaultsTest(m_context));
86 addChild(new Queries::ErrorsTest(m_context));
87 addChild(new Queries::FunctionalTest(m_context));
88 addChild(new Queries::ReuseTest(m_context));
89
90 /* Direct State Access of Buffer Objects */
91 addChild(new Buffers::CreationTest(m_context));
92 addChild(new Buffers::DataTest(m_context));
93 addChild(new Buffers::ClearTest(m_context));
94 addChild(new Buffers::MapReadOnlyTest(m_context));
95 addChild(new Buffers::MapReadWriteTest(m_context));
96 addChild(new Buffers::MapWriteOnlyTest(m_context));
97 addChild(new Buffers::MapRangeReadBitTest(m_context));
98 addChild(new Buffers::MapRangeWriteBitTest(m_context));
99 addChild(new Buffers::SubDataQueryTest(m_context));
100 addChild(new Buffers::DefaultsTest(m_context));
101 addChild(new Buffers::ErrorsTest(m_context));
102 addChild(new Buffers::FunctionalTest(m_context));
103
104 /* Direct State Access of Framebuffer Objects */
105 addChild(new Framebuffers::CreationTest(m_context));
106 addChild(new Framebuffers::RenderbufferAttachmentTest(m_context));
107 addChild(new Framebuffers::TextureAttachmentTest(m_context));
108 addChild(new Framebuffers::TextureLayerAttachmentTest(m_context));
109 addChild(new Framebuffers::DrawReadBufferTest(m_context));
110 addChild(new Framebuffers::DrawBuffersTest(m_context));
111 addChild(new Framebuffers::InvalidateDataTest(m_context));
112 addChild(new Framebuffers::InvalidateSubDataTest(m_context));
113 addChild(new Framebuffers::ClearTest(m_context));
114 addChild(new Framebuffers::BlitTest(m_context));
115 addChild(new Framebuffers::CheckStatusTest(m_context));
116 addChild(new Framebuffers::GetParametersTest(m_context));
117 addChild(new Framebuffers::GetAttachmentParametersTest(m_context));
118 addChild(new Framebuffers::CreationErrorsTest(m_context));
119 addChild(new Framebuffers::RenderbufferAttachmentErrorsTest(m_context));
120 addChild(new Framebuffers::TextureAttachmentErrorsTest(m_context));
121 addChild(new Framebuffers::DrawReadBuffersErrorsTest(m_context));
122 addChild(new Framebuffers::InvalidateDataAndSubDataErrorsTest(m_context));
123 addChild(new Framebuffers::ClearNamedFramebufferErrorsTest(m_context));
124 addChild(new Framebuffers::CheckStatusErrorsTest(m_context));
125 addChild(new Framebuffers::GetParameterErrorsTest(m_context));
126 addChild(new Framebuffers::GetAttachmentParameterErrorsTest(m_context));
127 addChild(new Framebuffers::FunctionalTest(m_context));
128
129 /* Direct State Access of Renderbuffer Objects */
130 addChild(new Renderbuffers::CreationTest(m_context));
131 addChild(new Renderbuffers::StorageTest(m_context));
132 addChild(new Renderbuffers::StorageMultisampleTest(m_context));
133 addChild(new Renderbuffers::GetParametersTest(m_context));
134 addChild(new Renderbuffers::CreationErrorsTest(m_context));
135 addChild(new Renderbuffers::StorageErrorsTest(m_context));
136 addChild(new Renderbuffers::StorageMultisampleErrorsTest(m_context));
137 addChild(new Renderbuffers::GetParameterErrorsTest(m_context));
138
139 /* Direct State Access of Vertex Array Objects */
140 addChild(new VertexArrays::CreationTest(m_context));
141 addChild(new VertexArrays::EnableDisableAttributesTest(m_context));
142 addChild(new VertexArrays::ElementBufferTest(m_context));
143 addChild(new VertexArrays::VertexBuffersTest(m_context));
144 addChild(new VertexArrays::AttributeFormatTest(m_context));
145 addChild(new VertexArrays::AttributeBindingTest(m_context));
146 addChild(new VertexArrays::AttributeBindingDivisorTest(m_context));
147 addChild(new VertexArrays::GetVertexArrayTest(m_context));
148 addChild(new VertexArrays::GetVertexArrayIndexedTest(m_context));
149 addChild(new VertexArrays::DefaultsTest(m_context));
150 addChild(new VertexArrays::CreationErrorTest(m_context));
151 addChild(new VertexArrays::EnableDisableAttributeErrorsTest(m_context));
152 addChild(new VertexArrays::ElementBufferErrorsTest(m_context));
153 addChild(new VertexArrays::VertexBuffersErrorsTest(m_context));
154 addChild(new VertexArrays::AttributeFormatErrorsTest(m_context));
155 addChild(new VertexArrays::AttributeBindingErrorsTest(m_context));
156 addChild(new VertexArrays::AttributeBindingDivisorErrorsTest(m_context));
157 addChild(new VertexArrays::GetVertexArrayErrorsTest(m_context));
158 addChild(new VertexArrays::GetVertexArrayIndexedErrorsTest(m_context));
159
160 /* Direct State Access of Tetxure Objects */
161 addChild(new Textures::CreationTest(m_context));
162
163 addChild(new Textures::BufferTest<glw::GLbyte, 1, false>(m_context, "textures_buffer_r8i"));
164 addChild(new Textures::BufferTest<glw::GLbyte, 2, false>(m_context, "textures_buffer_rg8i"));
165 addChild(new Textures::BufferTest<glw::GLbyte, 4, false>(m_context, "textures_buffer_rgba8i"));
166
167 addChild(new Textures::BufferTest<glw::GLubyte, 1, false>(m_context, "textures_buffer_r8ui"));
168 addChild(new Textures::BufferTest<glw::GLubyte, 2, false>(m_context, "textures_buffer_rg8ui"));
169 addChild(new Textures::BufferTest<glw::GLubyte, 4, false>(m_context, "textures_buffer_rgba8ui"));
170 addChild(new Textures::BufferTest<glw::GLubyte, 1, true>(m_context, "textures_buffer_r8ui_unorm"));
171 addChild(new Textures::BufferTest<glw::GLubyte, 2, true>(m_context, "textures_buffer_rg8ui_unorm"));
172 addChild(new Textures::BufferTest<glw::GLubyte, 4, true>(m_context, "textures_buffer_rgba8ui_unorm"));
173
174 addChild(new Textures::BufferTest<glw::GLshort, 1, false>(m_context, "textures_buffer_r16i"));
175 addChild(new Textures::BufferTest<glw::GLshort, 2, false>(m_context, "textures_buffer_rg16i"));
176 addChild(new Textures::BufferTest<glw::GLshort, 4, false>(m_context, "textures_buffer_rgba16i"));
177
178 addChild(new Textures::BufferTest<glw::GLushort, 1, false>(m_context, "textures_buffer_r16ui"));
179 addChild(new Textures::BufferTest<glw::GLushort, 2, false>(m_context, "textures_buffer_rg16ui"));
180 addChild(new Textures::BufferTest<glw::GLushort, 4, false>(m_context, "textures_buffer_rgba16ui"));
181 addChild(new Textures::BufferTest<glw::GLushort, 1, true>(m_context, "textures_buffer_r16ui_unorm"));
182 addChild(new Textures::BufferTest<glw::GLushort, 2, true>(m_context, "textures_buffer_rg16ui_unorm"));
183 addChild(new Textures::BufferTest<glw::GLushort, 4, true>(m_context, "textures_buffer_rgba16ui_unorm"));
184
185 addChild(new Textures::BufferTest<glw::GLint, 1, false>(m_context, "textures_buffer_r32i"));
186 addChild(new Textures::BufferTest<glw::GLint, 2, false>(m_context, "textures_buffer_rg32i"));
187 addChild(new Textures::BufferTest<glw::GLint, 3, false>(m_context, "textures_buffer_rgb32i"));
188 addChild(new Textures::BufferTest<glw::GLint, 4, false>(m_context, "textures_buffer_rgba32i"));
189
190 addChild(new Textures::BufferTest<glw::GLuint, 1, false>(m_context, "textures_buffer_r32ui"));
191 addChild(new Textures::BufferTest<glw::GLuint, 2, false>(m_context, "textures_buffer_rg32ui"));
192 addChild(new Textures::BufferTest<glw::GLuint, 3, false>(m_context, "textures_buffer_rgb32ui"));
193 addChild(new Textures::BufferTest<glw::GLuint, 4, false>(m_context, "textures_buffer_rgba32ui"));
194
195 addChild(new Textures::BufferTest<glw::GLfloat, 1, true>(m_context, "textures_buffer_r32f"));
196 addChild(new Textures::BufferTest<glw::GLfloat, 2, true>(m_context, "textures_buffer_rg32f"));
197 addChild(new Textures::BufferTest<glw::GLfloat, 3, true>(m_context, "textures_buffer_rgb32f"));
198 addChild(new Textures::BufferTest<glw::GLfloat, 4, true>(m_context, "textures_buffer_rgba32f"));
199
200 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 1, false, 1, false>(m_context, "textures_storage_1d_r8i"));
201 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 2, false, 1, false>(m_context, "textures_storage_1d_rg8i"));
202 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 4, false, 1, false>(m_context, "textures_storage_1d_rgba8i"));
203 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 1, false, 2, false>(m_context, "textures_storage_2d_r8i"));
204 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 2, false, 2, false>(m_context, "textures_storage_2d_rg8i"));
205 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 4, false, 2, false>(m_context, "textures_storage_2d_rgba8i"));
206 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 1, false, 3, false>(m_context, "textures_storage_3d_r8i"));
207 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 2, false, 3, false>(m_context, "textures_storage_3d_rg8i"));
208 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 4, false, 3, false>(m_context, "textures_storage_3d_rgba8i"));
209
210 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 1, false, 1, false>(m_context, "textures_storage_1d_r8ui"));
211 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 2, false, 1, false>(m_context, "textures_storage_1d_rg8ui"));
212 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 4, false, 1, false>(m_context, "textures_storage_1d_rgba8ui"));
213 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 1, false, 2, false>(m_context, "textures_storage_2d_r8ui"));
214 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 2, false, 2, false>(m_context, "textures_storage_2d_rg8ui"));
215 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 4, false, 2, false>(m_context, "textures_storage_2d_rgba8ui"));
216 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 1, false, 3, false>(m_context, "textures_storage_3d_r8ui"));
217 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 2, false, 3, false>(m_context, "textures_storage_3d_rg8ui"));
218 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 4, false, 3, false>(m_context, "textures_storage_3d_rgba8ui"));
219
220 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 1, true, 1, false>(m_context, "textures_storage_1d_r8ui_unorm"));
221 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 2, true, 1, false>(m_context, "textures_storage_1d_rg8ui_unorm"));
222 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 4, true, 1, false>(m_context, "textures_storage_1d_rgba8ui_unorm"));
223 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 1, true, 2, false>(m_context, "textures_storage_2d_r8ui_unorm"));
224 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 2, true, 2, false>(m_context, "textures_storage_2d_rg8ui_unorm"));
225 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 4, true, 2, false>(m_context, "textures_storage_2d_rgba8ui_unorm"));
226 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 1, true, 3, false>(m_context, "textures_storage_3d_r8ui_unorm"));
227 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 2, true, 3, false>(m_context, "textures_storage_3d_rg8ui_unorm"));
228 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 4, true, 3, false>(m_context, "textures_storage_3d_rgba8ui_unorm"));
229
230 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 1, false, 1, false>(m_context, "textures_storage_1d_r16i"));
231 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 2, false, 1, false>(m_context, "textures_storage_1d_rg16i"));
232 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 4, false, 1, false>(m_context, "textures_storage_1d_rgba16i"));
233 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 1, false, 2, false>(m_context, "textures_storage_2d_r16i"));
234 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 2, false, 2, false>(m_context, "textures_storage_2d_rg16i"));
235 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 4, false, 2, false>(m_context, "textures_storage_2d_rgba16i"));
236 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 1, false, 3, false>(m_context, "textures_storage_3d_r16i"));
237 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 2, false, 3, false>(m_context, "textures_storage_3d_rg16i"));
238 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 4, false, 3, false>(m_context, "textures_storage_3d_rgba16i"));
239
240 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 1, false, 1, false>(m_context, "textures_storage_1d_r16ui"));
241 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 2, false, 1, false>(m_context, "textures_storage_1d_rg16ui"));
242 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 4, false, 1, false>(m_context, "textures_storage_1d_rgba16ui"));
243 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 1, false, 2, false>(m_context, "textures_storage_2d_r16ui"));
244 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 2, false, 2, false>(m_context, "textures_storage_2d_rg16ui"));
245 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 4, false, 2, false>(m_context, "textures_storage_2d_rgba16ui"));
246 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 1, false, 3, false>(m_context, "textures_storage_3d_r16ui"));
247 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 2, false, 3, false>(m_context, "textures_storage_3d_rg16ui"));
248 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 4, false, 3, false>(m_context, "textures_storage_3d_rgba16ui"));
249
250 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 1, true, 1, false>(m_context, "textures_storage_1d_r16ui_unorm"));
251 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 2, true, 1, false>(m_context, "textures_storage_1d_rg16ui_unorm"));
252 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 4, true, 1, false>(m_context, "textures_storage_1d_rgba16ui_unorm"));
253 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 1, true, 2, false>(m_context, "textures_storage_2d_r16ui_unorm"));
254 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 2, true, 2, false>(m_context, "textures_storage_2d_rg16ui_unorm"));
255 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 4, true, 2, false>(m_context, "textures_storage_2d_rgba16ui_unorm"));
256 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 1, true, 3, false>(m_context, "textures_storage_3d_r16ui_unorm"));
257 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 2, true, 3, false>(m_context, "textures_storage_3d_rg16ui_unorm"));
258 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 4, true, 3, false>(m_context, "textures_storage_3d_rgba16ui_unorm"));
259
260 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 1, false, 1, false>(m_context, "textures_storage_1d_r32i"));
261 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 2, false, 1, false>(m_context, "textures_storage_1d_rg32i"));
262 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 3, false, 1, false>(m_context, "textures_storage_1d_rgb32i"));
263 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 4, false, 1, false>(m_context, "textures_storage_1d_rgba32i"));
264 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 1, false, 2, false>(m_context, "textures_storage_2d_r32i"));
265 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 2, false, 2, false>(m_context, "textures_storage_2d_rg32i"));
266 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 3, false, 2, false>(m_context, "textures_storage_2d_rgb32i"));
267 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 4, false, 2, false>(m_context, "textures_storage_2d_rgba32i"));
268 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 1, false, 3, false>(m_context, "textures_storage_3d_r32i"));
269 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 2, false, 3, false>(m_context, "textures_storage_3d_rg32i"));
270 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 3, false, 3, false>(m_context, "textures_storage_3d_rgb32i"));
271 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 4, false, 3, false>(m_context, "textures_storage_3d_rgba32i"));
272
273 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 1, false, 1, false>(m_context, "textures_storage_1d_r32ui"));
274 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 2, false, 1, false>(m_context, "textures_storage_1d_rg32ui"));
275 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 3, false, 1, false>(m_context, "textures_storage_1d_rgb32ui"));
276 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 4, false, 1, false>(m_context, "textures_storage_1d_rgba32ui"));
277 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 1, false, 2, false>(m_context, "textures_storage_2d_r32ui"));
278 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 2, false, 2, false>(m_context, "textures_storage_2d_rg32ui"));
279 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 3, false, 2, false>(m_context, "textures_storage_2d_rgb32ui"));
280 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 4, false, 2, false>(m_context, "textures_storage_2d_rgba32ui"));
281 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 1, false, 3, false>(m_context, "textures_storage_3d_r32ui"));
282 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 2, false, 3, false>(m_context, "textures_storage_3d_rg32ui"));
283 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 3, false, 3, false>(m_context, "textures_storage_3d_rgb32ui"));
284 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 4, false, 3, false>(m_context, "textures_storage_3d_rgba32ui"));
285
286 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 1, true, 1, false>(m_context, "textures_storage_1d_r32f"));
287 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 2, true, 1, false>(m_context, "textures_storage_1d_rg32f"));
288 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 3, true, 1, false>(m_context, "textures_storage_1d_rgb32f"));
289 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 4, true, 1, false>(m_context, "textures_storage_1d_rgba32f"));
290 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 1, true, 2, false>(m_context, "textures_storage_2d_r32f"));
291 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 2, true, 2, false>(m_context, "textures_storage_2d_rg32f"));
292 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 3, true, 2, false>(m_context, "textures_storage_2d_rgb32f"));
293 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 4, true, 2, false>(m_context, "textures_storage_2d_rgba32f"));
294 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 1, true, 3, false>(m_context, "textures_storage_3d_r32f"));
295 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 2, true, 3, false>(m_context, "textures_storage_3d_rg32f"));
296 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 3, true, 3, false>(m_context, "textures_storage_3d_rgb32f"));
297 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 4, true, 3, false>(m_context, "textures_storage_3d_rgba32f"));
298
299 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 1, false, 1, true>(m_context, "textures_subimage_1d_r8i"));
300 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 2, false, 1, true>(m_context, "textures_subimage_1d_rg8i"));
301 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 4, false, 1, true>(m_context, "textures_subimage_1d_rgba8i"));
302 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 1, false, 2, true>(m_context, "textures_subimage_2d_r8i"));
303 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 2, false, 2, true>(m_context, "textures_subimage_2d_rg8i"));
304 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 4, false, 2, true>(m_context, "textures_subimage_2d_rgba8i"));
305 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 1, false, 3, true>(m_context, "textures_subimage_3d_r8i"));
306 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 2, false, 3, true>(m_context, "textures_subimage_3d_rg8i"));
307 addChild(new Textures::StorageAndSubImageTest<glw::GLbyte, 4, false, 3, true>(m_context, "textures_subimage_3d_rgba8i"));
308
309 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 1, false, 1, true>(m_context, "textures_subimage_1d_r8ui"));
310 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 2, false, 1, true>(m_context, "textures_subimage_1d_rg8ui"));
311 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 4, false, 1, true>(m_context, "textures_subimage_1d_rgba8ui"));
312 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 1, false, 2, true>(m_context, "textures_subimage_2d_r8ui"));
313 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 2, false, 2, true>(m_context, "textures_subimage_2d_rg8ui"));
314 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 4, false, 2, true>(m_context, "textures_subimage_2d_rgba8ui"));
315 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 1, false, 3, true>(m_context, "textures_subimage_3d_r8ui"));
316 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 2, false, 3, true>(m_context, "textures_subimage_3d_rg8ui"));
317 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 4, false, 3, true>(m_context, "textures_subimage_3d_rgba8ui"));
318
319 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 1, true, 1, true>(m_context, "textures_subimage_1d_r8ui_unorm"));
320 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 2, true, 1, true>(m_context, "textures_subimage_1d_rg8ui_unorm"));
321 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 4, true, 1, true>(m_context, "textures_subimage_1d_rgba8ui_unorm"));
322 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 1, true, 2, true>(m_context, "textures_subimage_2d_r8ui_unorm"));
323 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 2, true, 2, true>(m_context, "textures_subimage_2d_rg8ui_unorm"));
324 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 4, true, 2, true>(m_context, "textures_subimage_2d_rgba8ui_unorm"));
325 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 1, true, 3, true>(m_context, "textures_subimage_3d_r8ui_unorm"));
326 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 2, true, 3, true>(m_context, "textures_subimage_3d_rg8ui_unorm"));
327 addChild(new Textures::StorageAndSubImageTest<glw::GLubyte, 4, true, 3, true>(m_context, "textures_subimage_3d_rgba8ui_unorm"));
328
329 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 1, false, 1, true>(m_context, "textures_subimage_1d_r16i"));
330 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 2, false, 1, true>(m_context, "textures_subimage_1d_rg16i"));
331 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 4, false, 1, true>(m_context, "textures_subimage_1d_rgba16i"));
332 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 1, false, 2, true>(m_context, "textures_subimage_2d_r16i"));
333 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 2, false, 2, true>(m_context, "textures_subimage_2d_rg16i"));
334 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 4, false, 2, true>(m_context, "textures_subimage_2d_rgba16i"));
335 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 1, false, 3, true>(m_context, "textures_subimage_3d_r16i"));
336 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 2, false, 3, true>(m_context, "textures_subimage_3d_rg16i"));
337 addChild(new Textures::StorageAndSubImageTest<glw::GLshort, 4, false, 3, true>(m_context, "textures_subimage_3d_rgba16i"));
338
339 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 1, false, 1, true>(m_context, "textures_subimage_1d_r16ui"));
340 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 2, false, 1, true>(m_context, "textures_subimage_1d_rg16ui"));
341 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 4, false, 1, true>(m_context, "textures_subimage_1d_rgba16ui"));
342 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 1, false, 2, true>(m_context, "textures_subimage_2d_r16ui"));
343 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 2, false, 2, true>(m_context, "textures_subimage_2d_rg16ui"));
344 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 4, false, 2, true>(m_context, "textures_subimage_2d_rgba16ui"));
345 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 1, false, 3, true>(m_context, "textures_subimage_3d_r16ui"));
346 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 2, false, 3, true>(m_context, "textures_subimage_3d_rg16ui"));
347 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 4, false, 3, true>(m_context, "textures_subimage_3d_rgba16ui"));
348
349 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 1, true, 1, true>(m_context, "textures_subimage_1d_r16ui_unorm"));
350 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 2, true, 1, true>(m_context, "textures_subimage_1d_rg16ui_unorm"));
351 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 4, true, 1, true>(m_context, "textures_subimage_1d_rgba16ui_unorm"));
352 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 1, true, 2, true>(m_context, "textures_subimage_2d_r16ui_unorm"));
353 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 2, true, 2, true>(m_context, "textures_subimage_2d_rg16ui_unorm"));
354 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 4, true, 2, true>(m_context, "textures_subimage_2d_rgba16ui_unorm"));
355 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 1, true, 3, true>(m_context, "textures_subimage_3d_r16ui_unorm"));
356 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 2, true, 3, true>(m_context, "textures_subimage_3d_rg16ui_unorm"));
357 addChild(new Textures::StorageAndSubImageTest<glw::GLushort, 4, true, 3, true>(m_context, "textures_subimage_3d_rgba16ui_unorm"));
358
359 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 1, false, 1, true>(m_context, "textures_subimage_1d_r32i"));
360 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 2, false, 1, true>(m_context, "textures_subimage_1d_rg32i"));
361 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 3, false, 1, true>(m_context, "textures_subimage_1d_rgb32i"));
362 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 4, false, 1, true>(m_context, "textures_subimage_1d_rgba32i"));
363 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 1, false, 2, true>(m_context, "textures_subimage_2d_r32i"));
364 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 2, false, 2, true>(m_context, "textures_subimage_2d_rg32i"));
365 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 3, false, 2, true>(m_context, "textures_subimage_2d_rgb32i"));
366 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 4, false, 2, true>(m_context, "textures_subimage_2d_rgba32i"));
367 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 1, false, 3, true>(m_context, "textures_subimage_3d_r32i"));
368 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 2, false, 3, true>(m_context, "textures_subimage_3d_rg32i"));
369 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 3, false, 3, true>(m_context, "textures_subimage_3d_rgb32i"));
370 addChild(new Textures::StorageAndSubImageTest<glw::GLint, 4, false, 3, true>(m_context, "textures_subimage_3d_rgba32i"));
371
372 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 1, false, 1, true>(m_context, "textures_subimage_1d_r32ui"));
373 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 2, false, 1, true>(m_context, "textures_subimage_1d_rg32ui"));
374 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 3, false, 1, true>(m_context, "textures_subimage_1d_rgb32ui"));
375 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 4, false, 1, true>(m_context, "textures_subimage_1d_rgba32ui"));
376 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 1, false, 2, true>(m_context, "textures_subimage_2d_r32ui"));
377 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 2, false, 2, true>(m_context, "textures_subimage_2d_rg32ui"));
378 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 3, false, 2, true>(m_context, "textures_subimage_2d_rgb32ui"));
379 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 4, false, 2, true>(m_context, "textures_subimage_2d_rgba32ui"));
380 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 1, false, 3, true>(m_context, "textures_subimage_3d_r32ui"));
381 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 2, false, 3, true>(m_context, "textures_subimage_3d_rg32ui"));
382 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 3, false, 3, true>(m_context, "textures_subimage_3d_rgb32ui"));
383 addChild(new Textures::StorageAndSubImageTest<glw::GLuint, 4, false, 3, true>(m_context, "textures_subimage_3d_rgba32ui"));
384
385 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 1, true, 1, true>(m_context, "textures_subimage_1d_r32f"));
386 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 2, true, 1, true>(m_context, "textures_subimage_1d_rg32f"));
387 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 3, true, 1, true>(m_context, "textures_subimage_1d_rgb32f"));
388 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 4, true, 1, true>(m_context, "textures_subimage_1d_rgba32f"));
389 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 1, true, 2, true>(m_context, "textures_subimage_2d_r32f"));
390 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 2, true, 2, true>(m_context, "textures_subimage_2d_rg32f"));
391 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 3, true, 2, true>(m_context, "textures_subimage_2d_rgb32f"));
392 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 4, true, 2, true>(m_context, "textures_subimage_2d_rgba32f"));
393 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 1, true, 3, true>(m_context, "textures_subimage_3d_r32f"));
394 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 2, true, 3, true>(m_context, "textures_subimage_3d_rg32f"));
395 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 3, true, 3, true>(m_context, "textures_subimage_3d_rgb32f"));
396 addChild(new Textures::StorageAndSubImageTest<glw::GLfloat, 4, true, 3, true>(m_context, "textures_subimage_3d_rgba32f"));
397
398 addChild(new Textures::StorageMultisampleTest<glw::GLbyte, 1, false, 2>(m_context, "textures_storage_multisample_2d_r8i"));
399 addChild(new Textures::StorageMultisampleTest<glw::GLbyte, 2, false, 2>(m_context, "textures_storage_multisample_2d_rg8i"));
400 addChild(new Textures::StorageMultisampleTest<glw::GLbyte, 4, false, 2>(m_context, "textures_storage_multisample_2d_rgba8i"));
401 addChild(new Textures::StorageMultisampleTest<glw::GLbyte, 1, false, 3>(m_context, "textures_storage_multisample_3d_r8i"));
402 addChild(new Textures::StorageMultisampleTest<glw::GLbyte, 2, false, 3>(m_context, "textures_storage_multisample_3d_rg8i"));
403 addChild(new Textures::StorageMultisampleTest<glw::GLbyte, 4, false, 3>(m_context, "textures_storage_multisample_3d_rgba8i"));
404
405 addChild(new Textures::StorageMultisampleTest<glw::GLubyte, 1, false, 2>(m_context, "textures_storage_multisample_2d_r8ui"));
406 addChild(new Textures::StorageMultisampleTest<glw::GLubyte, 2, false, 2>(m_context, "textures_storage_multisample_2d_rg8ui"));
407 addChild(new Textures::StorageMultisampleTest<glw::GLubyte, 4, false, 2>(m_context, "textures_storage_multisample_2d_rgba8ui"));
408 addChild(new Textures::StorageMultisampleTest<glw::GLubyte, 1, false, 3>(m_context, "textures_storage_multisample_3d_r8ui"));
409 addChild(new Textures::StorageMultisampleTest<glw::GLubyte, 2, false, 3>(m_context, "textures_storage_multisample_3d_rg8ui"));
410 addChild(new Textures::StorageMultisampleTest<glw::GLubyte, 4, false, 3>(m_context, "textures_storage_multisample_3d_rgba8ui"));
411
412 addChild(new Textures::StorageMultisampleTest<glw::GLubyte, 1, true, 2>(m_context, "textures_storage_multisample_2d_r8ui_unorm"));
413 addChild(new Textures::StorageMultisampleTest<glw::GLubyte, 2, true, 2>(m_context, "textures_storage_multisample_2d_rg8ui_unorm"));
414 addChild(new Textures::StorageMultisampleTest<glw::GLubyte, 4, true, 2>(m_context, "textures_storage_multisample_2d_rgba8ui_unorm"));
415 addChild(new Textures::StorageMultisampleTest<glw::GLubyte, 1, true, 3>(m_context, "textures_storage_multisample_3d_r8ui_unorm"));
416 addChild(new Textures::StorageMultisampleTest<glw::GLubyte, 2, true, 3>(m_context, "textures_storage_multisample_3d_rg8ui_unorm"));
417 addChild(new Textures::StorageMultisampleTest<glw::GLubyte, 4, true, 3>(m_context, "textures_storage_multisample_3d_rgba8ui_unorm"));
418
419 addChild(new Textures::StorageMultisampleTest<glw::GLshort, 1, false, 2>(m_context, "textures_storage_multisample_2d_r16i"));
420 addChild(new Textures::StorageMultisampleTest<glw::GLshort, 2, false, 2>(m_context, "textures_storage_multisample_2d_rg16i"));
421 addChild(new Textures::StorageMultisampleTest<glw::GLshort, 4, false, 2>(m_context, "textures_storage_multisample_2d_rgba16i"));
422 addChild(new Textures::StorageMultisampleTest<glw::GLshort, 1, false, 3>(m_context, "textures_storage_multisample_3d_r16i"));
423 addChild(new Textures::StorageMultisampleTest<glw::GLshort, 2, false, 3>(m_context, "textures_storage_multisample_3d_rg16i"));
424 addChild(new Textures::StorageMultisampleTest<glw::GLshort, 4, false, 3>(m_context, "textures_storage_multisample_3d_rgba16i"));
425
426 addChild(new Textures::StorageMultisampleTest<glw::GLushort, 1, false, 2>(m_context, "textures_storage_multisample_2d_r16u"));
427 addChild(new Textures::StorageMultisampleTest<glw::GLushort, 2, false, 2>(m_context, "textures_storage_multisample_2d_rg16u"));
428 addChild(new Textures::StorageMultisampleTest<glw::GLushort, 4, false, 2>(m_context, "textures_storage_multisample_2d_rgba16u"));
429 addChild(new Textures::StorageMultisampleTest<glw::GLushort, 1, false, 3>(m_context, "textures_storage_multisample_3d_r16u"));
430 addChild(new Textures::StorageMultisampleTest<glw::GLushort, 2, false, 3>(m_context, "textures_storage_multisample_3d_rg16u"));
431 addChild(new Textures::StorageMultisampleTest<glw::GLushort, 4, false, 3>(m_context, "textures_storage_multisample_3d_rgba16u"));
432
433 addChild(new Textures::StorageMultisampleTest<glw::GLushort, 1, true, 2>(m_context, "textures_storage_multisample_2d_r16ui_unorm"));
434 addChild(new Textures::StorageMultisampleTest<glw::GLushort, 2, true, 2>(m_context, "textures_storage_multisample_2d_rg16ui_unorm"));
435 addChild(new Textures::StorageMultisampleTest<glw::GLushort, 4, true, 2>(m_context, "textures_storage_multisample_2d_rgba16ui_unorm"));
436 addChild(new Textures::StorageMultisampleTest<glw::GLushort, 1, true, 3>(m_context, "textures_storage_multisample_3d_r16ui_unorm"));
437 addChild(new Textures::StorageMultisampleTest<glw::GLushort, 2, true, 3>(m_context, "textures_storage_multisample_3d_rg16ui_unorm"));
438 addChild(new Textures::StorageMultisampleTest<glw::GLushort, 4, true, 3>(m_context, "textures_storage_multisample_3d_rgba16ui_unorm"));
439
440 addChild(new Textures::StorageMultisampleTest<glw::GLint, 1, false, 2>(m_context, "textures_storage_multisample_2d_r32i"));
441 addChild(new Textures::StorageMultisampleTest<glw::GLint, 2, false, 2>(m_context, "textures_storage_multisample_2d_rg32i"));
442 addChild(new Textures::StorageMultisampleTest<glw::GLint, 3, false, 2>(m_context, "textures_storage_multisample_2d_rgb32i"));
443 addChild(new Textures::StorageMultisampleTest<glw::GLint, 4, false, 2>(m_context, "textures_storage_multisample_2d_rgba32i"));
444 addChild(new Textures::StorageMultisampleTest<glw::GLint, 1, false, 3>(m_context, "textures_storage_multisample_3d_r32i"));
445 addChild(new Textures::StorageMultisampleTest<glw::GLint, 2, false, 3>(m_context, "textures_storage_multisample_3d_rg32i"));
446 addChild(new Textures::StorageMultisampleTest<glw::GLint, 3, false, 3>(m_context, "textures_storage_multisample_3d_rgb32i"));
447 addChild(new Textures::StorageMultisampleTest<glw::GLint, 4, false, 3>(m_context, "textures_storage_multisample_3d_rgba32i"));
448
449 addChild(new Textures::StorageMultisampleTest<glw::GLuint, 1, false, 2>(m_context, "textures_storage_multisample_2d_r32ui"));
450 addChild(new Textures::StorageMultisampleTest<glw::GLuint, 2, false, 2>(m_context, "textures_storage_multisample_2d_rg32ui"));
451 addChild(new Textures::StorageMultisampleTest<glw::GLuint, 3, false, 2>(m_context, "textures_storage_multisample_2d_rgb32ui"));
452 addChild(new Textures::StorageMultisampleTest<glw::GLuint, 4, false, 2>(m_context, "textures_storage_multisample_2d_rgba32ui"));
453 addChild(new Textures::StorageMultisampleTest<glw::GLuint, 1, false, 3>(m_context, "textures_storage_multisample_3d_r32ui"));
454 addChild(new Textures::StorageMultisampleTest<glw::GLuint, 2, false, 3>(m_context, "textures_storage_multisample_3d_rg32ui"));
455 addChild(new Textures::StorageMultisampleTest<glw::GLuint, 3, false, 3>(m_context, "textures_storage_multisample_3d_rgb32ui"));
456 addChild(new Textures::StorageMultisampleTest<glw::GLuint, 4, false, 3>(m_context, "textures_storage_multisample_3d_rgba32ui"));
457
458 addChild(new Textures::StorageMultisampleTest<glw::GLfloat, 1, true, 2>(m_context, "textures_storage_multisample_2d_r32f"));
459 addChild(new Textures::StorageMultisampleTest<glw::GLfloat, 2, true, 2>(m_context, "textures_storage_multisample_2d_rg32f"));
460 addChild(new Textures::StorageMultisampleTest<glw::GLfloat, 3, true, 2>(m_context, "textures_storage_multisample_2d_rgb32f"));
461 addChild(new Textures::StorageMultisampleTest<glw::GLfloat, 4, true, 2>(m_context, "textures_storage_multisample_2d_rgba32f"));
462 addChild(new Textures::StorageMultisampleTest<glw::GLfloat, 1, true, 3>(m_context, "textures_storage_multisample_3d_r32f"));
463 addChild(new Textures::StorageMultisampleTest<glw::GLfloat, 2, true, 3>(m_context, "textures_storage_multisample_3d_rg32f"));
464 addChild(new Textures::StorageMultisampleTest<glw::GLfloat, 3, true, 3>(m_context, "textures_storage_multisample_3d_rgb32f"));
465 addChild(new Textures::StorageMultisampleTest<glw::GLfloat, 4, true, 3>(m_context, "textures_storage_multisample_3d_rgba32f"));
466
467 addChild(new Textures::CompressedSubImageTest(m_context));
468 addChild(new Textures::CopyTest(m_context));
469 addChild(new Textures::GetSetParameterTest(m_context));
470 addChild(new Textures::DefaultsTest(m_context));
471 addChild(new Textures::GenerateMipmapTest(m_context));
472 addChild(new Textures::BindUnitTest(m_context));
473 addChild(new Textures::GetImageTest(m_context));
474 addChild(new Textures::GetLevelParameterTest(m_context));
475 addChild(new Textures::CreationErrorsTest(m_context));
476 addChild(new Textures::BufferErrorsTest(m_context));
477 addChild(new Textures::BufferRangeErrorsTest(m_context));
478 addChild(new Textures::StorageErrorsTest(m_context));
479 addChild(new Textures::SubImageErrorsTest(m_context));
480 addChild(new Textures::CopyErrorsTest(m_context));
481 addChild(new Textures::ParameterSetupErrorsTest(m_context));
482 addChild(new Textures::GenerateMipmapErrorsTest(m_context));
483 addChild(new Textures::BindUnitErrorsTest(m_context));
484 addChild(new Textures::ImageQueryErrorsTest(m_context));
485 addChild(new Textures::LevelParameterErrorsTest(m_context));
486 addChild(new Textures::ParameterErrorsTest(m_context));
487 }
488 } /* DirectStateAccess namespace */
489 } /* gl4cts namespace */
490