Lines Matching refs:gl
41 void resetErrors (const glw::Functions& gl)
47 if (gl.getError() == GL_NONE)
59 const glw::Functions& gl = renderCtx.getFunctions();
63 resetErrors(gl);
70 gl.getIntegerv(GL_MAX_VERTEX_ATTRIBS, &numVertexAttribArrays);
72 gl.bindBuffer (GL_ARRAY_BUFFER, 0);
73 gl.bindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
77 gl.bindVertexArray (0);
78 gl.disable (GL_PRIMITIVE_RESTART_FIXED_INDEX);
82 gl.bindBuffer(GL_DRAW_INDIRECT_BUFFER, 0);
86 gl.disableVertexAttribArray (ndx);
87 gl.vertexAttribPointer (ndx, 4, GL_FLOAT, GL_FALSE, 0, DE_NULL);
90 gl.vertexAttribDivisor(ndx, 0);
93 GLU_EXPECT_NO_ERROR(gl.getError(), "Vertex attrib array state reset failed");
100 gl.viewport (0, 0, renderTarget.getWidth(), renderTarget.getHeight());
101 gl.depthRangef (0.0f, 1.0f);
104 gl.bindTransformFeedback(GL_TRANSFORM_FEEDBACK, 0);
106 GLU_EXPECT_NO_ERROR(gl.getError(), "Transformation state reset failed");
111 gl.lineWidth (1.0f);
112 gl.disable (GL_CULL_FACE);
113 gl.cullFace (GL_BACK);
114 gl.frontFace (GL_CCW);
115 gl.polygonOffset(0.0f, 0.0f);
116 gl.disable (GL_POLYGON_OFFSET_FILL);
119 gl.disable(GL_RASTERIZER_DISCARD);
121 GLU_EXPECT_NO_ERROR(gl.getError(), "Rasterization state reset failed");
126 gl.disable (GL_SAMPLE_ALPHA_TO_COVERAGE);
127 gl.disable (GL_SAMPLE_COVERAGE);
128 gl.sampleCoverage (1.0f, GL_FALSE);
133 gl.getIntegerv(GL_MAX_SAMPLE_MASK_WORDS, &numSampleMaskWords);
135 gl.disable(GL_SAMPLE_MASK);
138 gl.sampleMaski(ndx, ~0u);
141 GLU_EXPECT_NO_ERROR(gl.getError(), "Multisampling state reset failed");
151 gl.getIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &numTexUnits);
155 gl.activeTexture(GL_TEXTURE0 + ndx);
158 gl.bindTexture(GL_TEXTURE_2D, 0);
159 gl.texImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
160 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR);
161 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
162 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
163 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
167 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_R, GL_RED);
168 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
169 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
170 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
171 gl.texParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_LOD, -1000.0f);
172 gl.texParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_LOD, 1000.0f);
173 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 0);
174 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1000);
175 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE, GL_NONE);
176 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
180 gl.texParameteri(GL_TEXTURE_2D, GL_DEPTH_STENCIL_TEXTURE_MODE, GL_DEPTH_COMPONENT);
183 gl.texParameterfv(GL_TEXTURE_2D, GL_TEXTURE_BORDER_COLOR, &borderColor[0]);
186 gl.bindTexture(GL_TEXTURE_CUBE_MAP, 0);
187 gl.texImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
188 gl.texImage2D(GL_TEXTURE_CUBE_MAP_NEGATIVE_X, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
189 gl.texImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_Y, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
190 gl.texImage2D(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
191 gl.texImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_Z, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
192 gl.texImage2D(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
193 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR);
194 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
195 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_REPEAT);
196 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_REPEAT);
200 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_SWIZZLE_R, GL_RED);
201 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
202 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
203 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
204 gl.texParameterf(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_LOD, -1000.0f);
205 gl.texParameterf(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAX_LOD, 1000.0f);
206 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_BASE_LEVEL, 0);
207 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAX_LEVEL, 1000);
208 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_COMPARE_MODE, GL_NONE);
209 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
213 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_DEPTH_STENCIL_TEXTURE_MODE, GL_DEPTH_COMPONENT);
216 gl.texParameterfv(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_BORDER_COLOR, &borderColor[0]);
221 gl.bindTexture(GL_TEXTURE_2D_ARRAY, 0);
222 gl.texImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_RGBA, 0, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
223 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR);
224 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
225 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_WRAP_S, GL_REPEAT);
226 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_WRAP_T, GL_REPEAT);
227 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_SWIZZLE_R, GL_RED);
228 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
229 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
230 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
231 gl.texParameterf(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_LOD, -1000.0f);
232 gl.texParameterf(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAX_LOD, 1000.0f);
233 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_BASE_LEVEL, 0);
234 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAX_LEVEL, 1000);
235 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_COMPARE_MODE, GL_NONE);
236 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
239 gl.texParameterfv(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_BORDER_COLOR, &borderColor[0]);
243 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_DEPTH_STENCIL_TEXTURE_MODE, GL_DEPTH_COMPONENT);
248 gl.bindTexture(GL_TEXTURE_3D, 0);
249 gl.texImage3D(GL_TEXTURE_3D, 0, GL_RGBA, 0, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
250 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR);
251 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
252 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_S, GL_REPEAT);
253 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_T, GL_REPEAT);
254 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_R, GL_REPEAT);
255 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_SWIZZLE_R, GL_RED);
256 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
257 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
258 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
259 gl.texParameterf(GL_TEXTURE_3D, GL_TEXTURE_MIN_LOD, -1000.0f);
260 gl.texParameterf(GL_TEXTURE_3D, GL_TEXTURE_MAX_LOD, 1000.0f);
261 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_BASE_LEVEL, 0);
262 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_MAX_LEVEL, 1000);
263 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_COMPARE_MODE, GL_NONE);
264 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
267 gl.texParameterfv(GL_TEXTURE_3D, GL_TEXTURE_BORDER_COLOR, &borderColor[0]);
271 gl.texParameteri(GL_TEXTURE_3D, GL_DEPTH_STENCIL_TEXTURE_MODE, GL_DEPTH_COMPONENT);
276 gl.bindTexture(GL_TEXTURE_2D_MULTISAMPLE, 0);
277 gl.texParameteri(GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_SWIZZLE_R, GL_RED);
278 gl.texParameteri(GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
279 gl.texParameteri(GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
280 gl.texParameteri(GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
281 gl.texParameteri(GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_BASE_LEVEL, 0);
282 gl.texParameteri(GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_MAX_LEVEL, 1000);
287 gl.bindTexture(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, 0);
288 gl.texParameteri(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_SWIZZLE_R, GL_RED);
289 gl.texParameteri(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
290 gl.texParameteri(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
291 gl.texParameteri(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
292 gl.texParameteri(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_BASE_LEVEL, 0);
293 gl.texParameteri(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_MAX_LEVEL, 1000);
299 gl.bindTexture(GL_TEXTURE_CUBE_MAP_ARRAY, 0);
300 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR);
301 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
302 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_WRAP_S, GL_REPEAT);
303 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_WRAP_T, GL_REPEAT);
304 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_SWIZZLE_R, GL_RED);
305 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
306 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
307 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
308 gl.texParameterf(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_MIN_LOD, -1000.0f);
309 gl.texParameterf(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_MAX_LOD, 1000.0f);
310 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_BASE_LEVEL, 0);
311 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_MAX_LEVEL, 1000);
312 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_COMPARE_MODE, GL_NONE);
313 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
316 gl.texParameterfv(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_BORDER_COLOR, &borderColor[0]);
320 gl.activeTexture(GL_TEXTURE0);
325 gl.bindSampler(ndx, 0);
328 GLU_EXPECT_NO_ERROR(gl.getError(), "Texture state reset failed");
338 gl.getIntegerv(GL_MAX_DRAW_BUFFERS, &numDrawBuffers);
342 gl.disablei (GL_BLEND, drawBufferNdx);
343 gl.blendFunci (drawBufferNdx, GL_ONE, GL_ZERO);
344 gl.blendEquationi (drawBufferNdx, GL_FUNC_ADD);
345 gl.colorMaski (drawBufferNdx, GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
348 GLU_EXPECT_NO_ERROR(gl.getError(), "Failed to reset indexed draw buffer state");
355 gl.disable (GL_SCISSOR_TEST);
356 gl.scissor (0, 0, renderTarget.getWidth(), renderTarget.getHeight());
358 gl.disable (GL_STENCIL_TEST);
359 gl.stencilFunc (GL_ALWAYS, 0, ~0u);
360 gl.stencilOp (GL_KEEP, GL_KEEP, GL_KEEP);
362 gl.disable (GL_DEPTH_TEST);
363 gl.depthFunc (GL_LESS);
365 gl.disable (GL_BLEND);
366 gl.blendFunc (GL_ONE, GL_ZERO);
367 gl.blendEquation(GL_FUNC_ADD);
368 gl.blendColor (0.0f, 0.0f, 0.0f, 0.0f);
370 gl.enable (GL_DITHER);
374 gl.enable (GL_FRAMEBUFFER_SRGB);
377 GLU_EXPECT_NO_ERROR(gl.getError(), "Pixel operation state reset failed");
382 gl.colorMask (GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
383 gl.depthMask (GL_TRUE);
384 gl.stencilMask (~0u);
386 gl.clearColor (0.0f, 0.0f, 0.0f, 0.0f);
387 gl.clearDepthf (1.0f);
388 gl.clearStencil (0);
390 GLU_EXPECT_NO_ERROR(gl.getError(), "Framebuffer control state reset failed");
400 gl.bindFramebuffer(GL_FRAMEBUFFER, defaultFbo);
404 gl.drawBuffers (1, &drawBuffer);
405 gl.readBuffer (readBuffer);
410 gl.framebufferParameteri(GL_FRAMEBUFFER, GL_FRAMEBUFFER_DEFAULT_WIDTH, 0);
411 gl.framebufferParameteri(GL_FRAMEBUFFER, GL_FRAMEBUFFER_DEFAULT_HEIGHT, 0);
412 gl.framebufferParameteri(GL_FRAMEBUFFER, GL_FRAMEBUFFER_DEFAULT_SAMPLES, 0);
413 gl.framebufferParameteri(GL_FRAMEBUFFER, GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS, GL_FALSE);
414 GLU_EXPECT_NO_ERROR(gl.getError(), "Framebuffer default state reset failed");
417 GLU_EXPECT_NO_ERROR(gl.getError(), "Framebuffer state reset failed");
422 gl.bindRenderbuffer(GL_RENDERBUFFER, 0);
423 GLU_EXPECT_NO_ERROR(gl.getError(), "Renderbuffer state reset failed");
428 gl.pixelStorei(GL_UNPACK_ALIGNMENT, 4);
429 gl.pixelStorei(GL_PACK_ALIGNMENT, 4);
433 gl.pixelStorei(GL_UNPACK_IMAGE_HEIGHT, 0);
434 gl.pixelStorei(GL_UNPACK_SKIP_IMAGES, 0);
435 gl.pixelStorei(GL_UNPACK_ROW_LENGTH, 0);
436 gl.pixelStorei(GL_UNPACK_SKIP_ROWS, 0);
437 gl.pixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
439 gl.pixelStorei(GL_PACK_ROW_LENGTH, 0);
440 gl.pixelStorei(GL_PACK_SKIP_ROWS, 0);
441 gl.pixelStorei(GL_PACK_SKIP_PIXELS, 0);
443 gl.bindBuffer(GL_PIXEL_PACK_BUFFER, 0);
444 gl.bindBuffer(GL_PIXEL_UNPACK_BUFFER, 0);
447 GLU_EXPECT_NO_ERROR(gl.getError(), "Pixel transfer state reset failed");
452 gl.useProgram(0);
457 gl.getIntegerv (GL_MAX_UNIFORM_BUFFER_BINDINGS, &maxUniformBufferBindings);
458 gl.bindBuffer (GL_UNIFORM_BUFFER, 0);
461 gl.bindBufferBase(GL_UNIFORM_BUFFER, ndx, 0);
466 gl.bindProgramPipeline(0);
470 gl.getIntegerv (GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS, &maxAtomicCounterBufferBindings);
471 gl.bindBuffer (GL_ATOMIC_COUNTER_BUFFER, 0);
474 gl.bindBufferBase(GL_ATOMIC_COUNTER_BUFFER, ndx, 0);
479 gl.getIntegerv (GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, &maxShaderStorageBufferBindings);
480 gl.bindBuffer (GL_SHADER_STORAGE_BUFFER, 0);
483 gl.bindBufferBase(GL_SHADER_STORAGE_BUFFER, ndx, 0);
487 GLU_EXPECT_NO_ERROR(gl.getError(), "Program object state reset failed");
493 gl.getIntegerv(GL_MAX_VERTEX_ATTRIBS, &numVertexAttribArrays);
496 gl.vertexAttrib4f(ndx, 0.0f, 0.0f, 0.0f, 1.0f);
498 GLU_EXPECT_NO_ERROR(gl.getError(), "Vertex shader state reset failed");
506 gl.getIntegerv(GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, &numTransformFeedbackSeparateAttribs);
507 gl.getBooleanv(GL_TRANSFORM_FEEDBACK_ACTIVE, &transformFeedbackActive);
510 gl.endTransformFeedback();
512 gl.bindBuffer(GL_TRANSFORM_FEEDBACK_BUFFER, 0);
515 gl.bindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, ndx, 0);
517 GLU_EXPECT_NO_ERROR(gl.getError(), "Transform feedback state reset failed");
528 gl.getQueryiv(targets[i], GL_CURRENT_QUERY, &queryActive);
531 gl.endQuery(targets[i]);
534 GLU_EXPECT_NO_ERROR(gl.getError(), "Asynchronous query state reset failed");
539 gl.hint(GL_GENERATE_MIPMAP_HINT, GL_DONT_CARE);
542 gl.hint(GL_FRAGMENT_SHADER_DERIVATIVE_HINT, GL_DONT_CARE);
544 GLU_EXPECT_NO_ERROR(gl.getError(), "Hints reset failed");
550 gl.bindBuffer(GL_DISPATCH_INDIRECT_BUFFER, 0);
551 GLU_EXPECT_NO_ERROR(gl.getError(), "Compute dispatch state reset failed");
557 gl.bindBuffer(GL_COPY_READ_BUFFER, 0);
558 gl.bindBuffer(GL_COPY_WRITE_BUFFER, 0);
560 GLU_EXPECT_NO_ERROR(gl.getError(), "Buffer copy state reset failed");
567 gl.getIntegerv(GL_MAX_IMAGE_UNITS, &numImageUnits);
570 gl.bindImageTexture(ndx, 0, 0, GL_FALSE, 0, GL_READ_ONLY, GL_R32UI);
572 GLU_EXPECT_NO_ERROR(gl.getError(), "Image state reset failed");
578 gl.minSampleShading(0.0f);
579 gl.disable(GL_SAMPLE_SHADING);
581 GLU_EXPECT_NO_ERROR(gl.getError(), "Sample shading state reset failed");
587 const bool entrypointsPresent = gl.debugMessageControl != DE_NULL &&
588 gl.debugMessageCallback != DE_NULL &&
589 gl.popDebugGroup != DE_NULL;
595 gl.getIntegerv(GL_DEBUG_GROUP_STACK_DEPTH, &stackDepth);
597 gl.popDebugGroup();
599 gl.debugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, DE_NULL, true);
600 gl.debugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DEBUG_SEVERITY_LOW, 0, DE_NULL, false);
601 gl.debugMessageCallback(DE_NULL, DE_NULL);
604 gl.enable(GL_DEBUG_OUTPUT);
606 gl.disable(GL_DEBUG_OUTPUT);
607 gl.disable(GL_DEBUG_OUTPUT_SYNCHRONOUS);
609 GLU_EXPECT_NO_ERROR(gl.getError(), "Debug state reset failed");
616 gl.primitiveBoundingBox(-1.0f, -1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f);
617 GLU_EXPECT_NO_ERROR(gl.getError(), "Primitive bounding box state reset failed");
623 gl.patchParameteri(GL_PATCH_VERTICES, 3);
624 GLU_EXPECT_NO_ERROR(gl.getError(), "Tessellation patch vertices state reset failed");
630 gl.enable(GL_BLEND_ADVANCED_COHERENT_KHR);
631 GLU_EXPECT_NO_ERROR(gl.getError(), "Blend equation advanced coherent state reset failed");
637 gl.bindTexture(GL_TEXTURE_BUFFER, 0);
638 gl.bindBuffer(GL_TEXTURE_BUFFER, 0);
639 GLU_EXPECT_NO_ERROR(gl.getError(), "Texture buffer state reset failed");
645 const glw::Functions& gl = renderCtx.getFunctions();
649 resetErrors(gl);
656 gl.patchParameteri(GL_PATCH_VERTICES_EXT, 3);
657 gl.patchParameterfv(GL_PATCH_DEFAULT_INNER_LEVEL, defaultTessLevels);
658 gl.patchParameterfv(GL_PATCH_DEFAULT_OUTER_LEVEL, defaultTessLevels);
661 GLU_EXPECT_NO_ERROR(gl.getError(), "Primitives and vertices state reset failed");
666 gl.bindVertexArray (0);
667 gl.bindBuffer (GL_ARRAY_BUFFER, 0);
668 gl.bindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
672 gl.disable (GL_PRIMITIVE_RESTART);
673 gl.primitiveRestartIndex(0);
676 GLU_EXPECT_NO_ERROR(gl.getError(), "Vertex attrib array state reset failed");
684 gl.getIntegerv(GL_MAX_CLIP_DISTANCES, &numUserClipPlanes);
686 gl.viewport (0, 0, renderTarget.getWidth(), renderTarget.getHeight());
687 gl.depthRange (0.0, 1.0);
690 gl.disable(GL_CLIP_DISTANCE0+ndx);
693 gl.disable(GL_DEPTH_CLAMP);
695 //gl.bindTransformFeedback(GL_TRANSFORM_FEEDBACK, 0);
697 GLU_EXPECT_NO_ERROR(gl.getError(), "Transformation state reset failed");
702 gl.clampColor(GL_CLAMP_READ_COLOR, GL_FIXED_ONLY);
705 gl.provokingVertex(GL_LAST_VERTEX_CONVENTION);
707 GLU_EXPECT_NO_ERROR(gl.getError(), "Coloring state reset failed");
712 gl.disable (GL_RASTERIZER_DISCARD);
713 gl.pointSize (1.0f);
714 gl.pointParameterf (GL_POINT_FADE_THRESHOLD_SIZE, 1.0f);
715 gl.pointParameteri (GL_POINT_SPRITE_COORD_ORIGIN, GL_UPPER_LEFT);
716 gl.lineWidth (1.0f);
717 gl.disable (GL_LINE_SMOOTH);
718 gl.disable (GL_CULL_FACE);
719 gl.cullFace (GL_BACK);
720 gl.frontFace (GL_CCW);
721 gl.disable (GL_POLYGON_SMOOTH);
722 gl.polygonOffset (0.0f, 0.0f);
723 gl.disable (GL_POLYGON_OFFSET_POINT);
724 gl.disable (GL_POLYGON_OFFSET_LINE);
725 gl.disable (GL_POLYGON_OFFSET_FILL);
727 GLU_EXPECT_NO_ERROR(gl.getError(), "Rasterization state reset failed");
732 gl.enable (GL_MULTISAMPLE);
733 gl.disable (GL_SAMPLE_ALPHA_TO_COVERAGE);
734 gl.disable (GL_SAMPLE_ALPHA_TO_ONE);
735 gl.disable (GL_SAMPLE_COVERAGE);
736 gl.sampleCoverage (1.0f, GL_FALSE);
741 gl.getIntegerv(GL_MAX_SAMPLE_MASK_WORDS, &numSampleMaskWords);
743 gl.disable(GL_SAMPLE_MASK);
746 gl.sampleMaski(ndx, ~0u);
749 GLU_EXPECT_NO_ERROR(gl.getError(), "Multisampling state reset failed");
757 gl.getIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &numTexUnits);
759 gl.bindBuffer(GL_TEXTURE_BUFFER, 0);
765 gl.activeTexture(GL_TEXTURE0 + ndx);
768 gl.bindTexture (GL_TEXTURE_1D, 0);
769 gl.texImage1D (GL_TEXTURE_1D, 0, GL_RGBA, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
770 gl.texParameteri (GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR);
771 gl.texParameteri (GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
772 gl.texParameterfv (GL_TEXTURE_1D, GL_TEXTURE_BORDER_COLOR, &borderColor[0]);
773 gl.texParameteri (GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_REPEAT);
774 gl.texParameterf (GL_TEXTURE_1D, GL_TEXTURE_MIN_LOD, -1000.0f);
775 gl.texParameterf (GL_TEXTURE_1D, GL_TEXTURE_MAX_LOD, 1000.0f);
776 gl.texParameteri (GL_TEXTURE_1D, GL_TEXTURE_BASE_LEVEL, 0);
777 gl.texParameteri (GL_TEXTURE_1D, GL_TEXTURE_MAX_LEVEL, 1000);
778 gl.texParameterf (GL_TEXTURE_1D, GL_TEXTURE_LOD_BIAS, 0.0f);
779 gl.texParameteri (GL_TEXTURE_1D, GL_TEXTURE_COMPARE_MODE, GL_NONE);
780 gl.texParameteri (GL_TEXTURE_1D, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
784 gl.texParameteri(GL_TEXTURE_1D, GL_TEXTURE_SWIZZLE_R, GL_RED);
785 gl.texParameteri(GL_TEXTURE_1D, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
786 gl.texParameteri(GL_TEXTURE_1D, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
787 gl.texParameteri(GL_TEXTURE_1D, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
791 gl.bindTexture (GL_TEXTURE_2D, 0);
792 gl.texImage2D (GL_TEXTURE_2D, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
793 gl.texParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR);
794 gl.texParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
795 gl.texParameterfv (GL_TEXTURE_2D, GL_TEXTURE_BORDER_COLOR, &borderColor[0]);
796 gl.texParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
797 gl.texParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
798 gl.texParameterf (GL_TEXTURE_2D, GL_TEXTURE_MIN_LOD, -1000.0f);
799 gl.texParameterf (GL_TEXTURE_2D, GL_TEXTURE_MAX_LOD, 1000.0f);
800 gl.texParameteri (GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 0);
801 gl.texParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1000);
802 gl.texParameterf (GL_TEXTURE_2D, GL_TEXTURE_LOD_BIAS, 0.0f);
803 gl.texParameteri (GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE, GL_NONE);
804 gl.texParameteri (GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
808 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_R, GL_RED);
809 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
810 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
811 gl.texParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
815 gl.bindTexture (GL_TEXTURE_CUBE_MAP, 0);
816 gl.texImage2D (GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
817 gl.texImage2D (GL_TEXTURE_CUBE_MAP_NEGATIVE_X, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
818 gl.texImage2D (GL_TEXTURE_CUBE_MAP_POSITIVE_Y, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
819 gl.texImage2D (GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
820 gl.texImage2D (GL_TEXTURE_CUBE_MAP_POSITIVE_Z, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
821 gl.texImage2D (GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
822 gl.texParameteri (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR);
823 gl.texParameteri (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
824 gl.texParameterfv (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_BORDER_COLOR, &borderColor[0]);
825 gl.texParameteri (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_REPEAT);
826 gl.texParameteri (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_REPEAT);
827 gl.texParameterf (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_LOD, -1000.0f);
828 gl.texParameterf (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAX_LOD, 1000.0f);
829 gl.texParameteri (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_BASE_LEVEL, 0);
830 gl.texParameteri (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAX_LEVEL, 1000);
831 gl.texParameterf (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_LOD_BIAS, 0.0f);
832 gl.texParameteri (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_COMPARE_MODE, GL_NONE);
833 gl.texParameteri (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
837 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_SWIZZLE_R, GL_RED);
838 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
839 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
840 gl.texParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
846 gl.bindTexture(GL_TEXTURE_CUBE_MAP_ARRAY, 0);
847 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR);
848 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
849 gl.texParameterfv(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_BORDER_COLOR, &borderColor[0]);
850 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_WRAP_S, GL_REPEAT);
851 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_WRAP_T, GL_REPEAT);
852 gl.texParameterf(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_MIN_LOD, -1000.0f);
853 gl.texParameterf(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_MAX_LOD, 1000.0f);
854 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_BASE_LEVEL, 0);
855 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_MAX_LEVEL, 1000);
856 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_COMPARE_MODE, GL_NONE);
857 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
859 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_SWIZZLE_R, GL_RED);
860 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
861 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
862 gl.texParameteri(GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
866 gl.bindTexture (GL_TEXTURE_1D_ARRAY, 0);
867 gl.texImage2D (GL_TEXTURE_1D_ARRAY, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
868 gl.texParameteri (GL_TEXTURE_1D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR);
869 gl.texParameteri (GL_TEXTURE_1D_ARRAY, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
870 gl.texParameterfv (GL_TEXTURE_1D_ARRAY, GL_TEXTURE_BORDER_COLOR, &borderColor[0]);
871 gl.texParameteri (GL_TEXTURE_1D_ARRAY, GL_TEXTURE_WRAP_S, GL_REPEAT);
872 gl.texParameterf (GL_TEXTURE_1D_ARRAY, GL_TEXTURE_MIN_LOD, -1000.0f);
873 gl.texParameterf (GL_TEXTURE_1D_ARRAY, GL_TEXTURE_MAX_LOD, 1000.0f);
874 gl.texParameteri (GL_TEXTURE_1D_ARRAY, GL_TEXTURE_BASE_LEVEL, 0);
875 gl.texParameteri (GL_TEXTURE_1D_ARRAY, GL_TEXTURE_MAX_LEVEL, 1000);
876 gl.texParameterf (GL_TEXTURE_1D_ARRAY, GL_TEXTURE_LOD_BIAS, 0.0f);
877 gl.texParameteri (GL_TEXTURE_1D_ARRAY, GL_TEXTURE_COMPARE_MODE, GL_NONE);
878 gl.texParameteri (GL_TEXTURE_1D_ARRAY, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
882 gl.texParameteri(GL_TEXTURE_1D_ARRAY, GL_TEXTURE_SWIZZLE_R, GL_RED);
883 gl.texParameteri(GL_TEXTURE_1D_ARRAY, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
884 gl.texParameteri(GL_TEXTURE_1D_ARRAY, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
885 gl.texParameteri(GL_TEXTURE_1D_ARRAY, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
889 gl.bindTexture (GL_TEXTURE_2D_ARRAY, 0);
890 gl.texImage3D (GL_TEXTURE_2D_ARRAY, 0, GL_RGBA, 0, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
891 gl.texParameteri (GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR);
892 gl.texParameteri (GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
893 gl.texParameterfv (GL_TEXTURE_2D_ARRAY, GL_TEXTURE_BORDER_COLOR, &borderColor[0]);
894 gl.texParameteri (GL_TEXTURE_2D_ARRAY, GL_TEXTURE_WRAP_S, GL_REPEAT);
895 gl.texParameteri (GL_TEXTURE_2D_ARRAY, GL_TEXTURE_WRAP_T, GL_REPEAT);
896 gl.texParameterf (GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_LOD, -1000.0f);
897 gl.texParameterf (GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAX_LOD, 1000.0f);
898 gl.texParameteri (GL_TEXTURE_2D_ARRAY, GL_TEXTURE_BASE_LEVEL, 0);
899 gl.texParameteri (GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAX_LEVEL, 1000);
900 gl.texParameterf (GL_TEXTURE_2D_ARRAY, GL_TEXTURE_LOD_BIAS, 0.0f);
901 gl.texParameteri (GL_TEXTURE_2D_ARRAY, GL_TEXTURE_COMPARE_MODE, GL_NONE);
902 gl.texParameteri (GL_TEXTURE_2D_ARRAY, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
906 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_SWIZZLE_R, GL_RED);
907 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
908 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
909 gl.texParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
913 gl.bindTexture (GL_TEXTURE_3D, 0);
914 gl.texImage3D (GL_TEXTURE_3D, 0, GL_RGBA, 0, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
915 gl.texParameteri (GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR);
916 gl.texParameteri (GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
917 gl.texParameterfv (GL_TEXTURE_3D, GL_TEXTURE_BORDER_COLOR, &borderColor[0]);
918 gl.texParameteri (GL_TEXTURE_3D, GL_TEXTURE_WRAP_S, GL_REPEAT);
919 gl.texParameteri (GL_TEXTURE_3D, GL_TEXTURE_WRAP_T, GL_REPEAT);
920 gl.texParameteri (GL_TEXTURE_3D, GL_TEXTURE_WRAP_R, GL_REPEAT);
921 gl.texParameterf (GL_TEXTURE_3D, GL_TEXTURE_MIN_LOD, -1000.0f);
922 gl.texParameterf (GL_TEXTURE_3D, GL_TEXTURE_MAX_LOD, 1000.0f);
923 gl.texParameteri (GL_TEXTURE_3D, GL_TEXTURE_BASE_LEVEL, 0);
924 gl.texParameteri (GL_TEXTURE_3D, GL_TEXTURE_MAX_LEVEL, 1000);
925 gl.texParameterf (GL_TEXTURE_3D, GL_TEXTURE_LOD_BIAS, 0.0f);
926 gl.texParameteri (GL_TEXTURE_3D, GL_TEXTURE_COMPARE_MODE, GL_NONE);
927 gl.texParameteri (GL_TEXTURE_3D, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
931 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_SWIZZLE_R, GL_RED);
932 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
933 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
934 gl.texParameteri(GL_TEXTURE_3D, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
940 gl.bindTexture (GL_TEXTURE_RECTANGLE, 0);
941 gl.texImage2D (GL_TEXTURE_RECTANGLE, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, DE_NULL);
942 gl.texParameteri (GL_TEXTURE_RECTANGLE, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
943 gl.texParameteri (GL_TEXTURE_RECTANGLE, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
944 gl.texParameterfv (GL_TEXTURE_RECTANGLE, GL_TEXTURE_BORDER_COLOR, &borderColor[0]);
945 gl.texParameteri (GL_TEXTURE_RECTANGLE, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
946 gl.texParameteri (GL_TEXTURE_RECTANGLE, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
947 gl.texParameteri (GL_TEXTURE_RECTANGLE, GL_TEXTURE_BASE_LEVEL, 0);
948 gl.texParameteri (GL_TEXTURE_RECTANGLE, GL_TEXTURE_MAX_LEVEL, 1000);
949 gl.texParameteri (GL_TEXTURE_RECTANGLE, GL_TEXTURE_COMPARE_MODE, GL_NONE);
950 gl.texParameteri (GL_TEXTURE_RECTANGLE, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
955 gl.texParameteri(GL_TEXTURE_RECTANGLE, GL_TEXTURE_SWIZZLE_R, GL_RED);
956 gl.texParameteri(GL_TEXTURE_RECTANGLE, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
957 gl.texParameteri(GL_TEXTURE_RECTANGLE, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
958 gl.texParameteri(GL_TEXTURE_RECTANGLE, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
962 gl.bindTexture (GL_TEXTURE_BUFFER, 0);
963 gl.texBuffer (GL_TEXTURE_BUFFER, GL_R8, 0);
970 gl.bindTexture (GL_TEXTURE_2D_MULTISAMPLE, 0);
971 gl.texParameteri (GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_SWIZZLE_R, GL_RED);
972 gl.texParameteri (GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
973 gl.texParameteri (GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
974 gl.texParameteri (GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
975 gl.texParameteri (GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_BASE_LEVEL, 0);
976 gl.texParameteri (GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_MAX_LEVEL, 1000);
977 gl.texImage2DMultisample (GL_TEXTURE_2D_MULTISAMPLE, 1, GL_RGBA8, 0, 0, GL_TRUE);
980 gl.bindTexture (GL_TEXTURE_2D_MULTISAMPLE_ARRAY, 0);
981 gl.texParameteri (GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_SWIZZLE_R, GL_RED);
982 gl.texParameteri (GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_SWIZZLE_G, GL_GREEN);
983 gl.texParameteri (GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_SWIZZLE_B, GL_BLUE);
984 gl.texParameteri (GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_SWIZZLE_A, GL_ALPHA);
985 gl.texParameteri (GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_BASE_LEVEL, 0);
986 gl.texParameteri (GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_MAX_LEVEL, 1000);
987 gl.texImage3DMultisample (GL_TEXTURE_2D_MULTISAMPLE_ARRAY, 1, GL_RGBA8, 0, 0, 0, GL_TRUE);
991 gl.activeTexture(GL_TEXTURE0);
996 gl.bindSampler(ndx, 0);
998 gl.disable(GL_TEXTURE_CUBE_MAP_SEAMLESS);
1001 GLU_EXPECT_NO_ERROR(gl.getError(), "Texture state reset failed");
1008 gl.disable (GL_SCISSOR_TEST);
1009 gl.scissor (0, 0, renderTarget.getWidth(), renderTarget.getHeight());
1011 gl.disable (GL_STENCIL_TEST);
1012 gl.stencilFunc (GL_ALWAYS, 0, ~0u);
1013 gl.stencilOp (GL_KEEP, GL_KEEP, GL_KEEP);
1015 gl.disable (GL_DEPTH_TEST);
1016 gl.depthFunc (GL_LESS);
1018 gl.disable (GL_BLEND);
1019 gl.blendFunc (GL_ONE, GL_ZERO);
1020 gl.blendEquation(GL_FUNC_ADD);
1021 gl.blendColor (0.0f, 0.0f, 0.0f, 0.0f);
1023 gl.disable (GL_FRAMEBUFFER_SRGB);
1024 gl.enable (GL_DITHER);
1026 gl.disable (GL_COLOR_LOGIC_OP);
1027 gl.logicOp (GL_COPY);
1029 GLU_EXPECT_NO_ERROR(gl.getError(), "Pixel operation state reset failed");
1034 gl.colorMask (GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
1035 gl.depthMask (GL_TRUE);
1036 gl.stencilMask (~0u);
1038 gl.clearColor (0.0f, 0.0f, 0.0f, 0.0f);
1039 gl.clearDepth (1.0);
1040 gl.clearStencil (0);
1042 GLU_EXPECT_NO_ERROR(gl.getError(), "Framebuffer control state reset failed");
1049 gl.bindFramebuffer(GL_FRAMEBUFFER, framebuffer);
1053 gl.drawBuffer(GL_BACK);
1054 gl.readBuffer(GL_BACK);
1060 if (gl.getError() != GL_NO_ERROR)
1062 gl.drawBuffer(GL_FRONT);
1063 gl.readBuffer(GL_FRONT);
1068 gl.drawBuffer(GL_COLOR_ATTACHMENT0);
1069 gl.readBuffer(GL_COLOR_ATTACHMENT0);
1072 GLU_EXPECT_NO_ERROR(gl.getError(), "Framebuffer state reset failed");
1077 gl.bindRenderbuffer(GL_RENDERBUFFER, 0);
1078 GLU_EXPECT_NO_ERROR(gl.getError(), "Renderbuffer state reset failed");
1083 gl.pixelStorei (GL_UNPACK_SWAP_BYTES, GL_FALSE);
1084 gl.pixelStorei (GL_UNPACK_LSB_FIRST, GL_FALSE);
1085 gl.pixelStorei (GL_UNPACK_IMAGE_HEIGHT, 0);
1086 gl.pixelStorei (GL_UNPACK_SKIP_IMAGES, 0);
1087 gl.pixelStorei (GL_UNPACK_ROW_LENGTH, 0);
1088 gl.pixelStorei (GL_UNPACK_SKIP_ROWS, 0);
1089 gl.pixelStorei (GL_UNPACK_SKIP_PIXELS, 0);
1090 gl.pixelStorei (GL_UNPACK_ALIGNMENT, 4);
1092 gl.pixelStorei (GL_PACK_SWAP_BYTES, GL_FALSE);
1093 gl.pixelStorei (GL_PACK_LSB_FIRST, GL_FALSE);
1094 gl.pixelStorei (GL_PACK_IMAGE_HEIGHT, 0);
1095 gl.pixelStorei (GL_PACK_SKIP_IMAGES, 0);
1096 gl.pixelStorei (GL_PACK_ROW_LENGTH, 0);
1097 gl.pixelStorei (GL_PACK_SKIP_ROWS, 0);
1098 gl.pixelStorei (GL_PACK_SKIP_PIXELS, 0);
1099 gl.pixelStorei (GL_PACK_ALIGNMENT, 4);
1101 gl.bindBuffer (GL_PIXEL_PACK_BUFFER, 0);
1102 gl.bindBuffer (GL_PIXEL_UNPACK_BUFFER, 0);
1104 GLU_EXPECT_NO_ERROR(gl.getError(), "Pixel transfer state reset failed");
1109 gl.useProgram(0);
1114 gl.getIntegerv(GL_MAX_UNIFORM_BUFFER_BINDINGS, &maxUniformBufferBindings);
1116 gl.bindBuffer(GL_UNIFORM_BUFFER, 0);
1119 gl.bindBufferBase(GL_UNIFORM_BUFFER, ndx, 0);
1122 GLU_EXPECT_NO_ERROR(gl.getError(), "Program object state reset failed");
1128 gl.getIntegerv(GL_MAX_VERTEX_ATTRIBS, &numVertexAttribArrays);
1131 gl.vertexAttrib4f(ndx, 0.0f, 0.0f, 0.0f, 1.0f);
1133 gl.disable(GL_VERTEX_PROGRAM_POINT_SIZE);
1135 GLU_EXPECT_NO_ERROR(gl.getError(), "Vertex shader state reset failed");
1141 gl.getIntegerv(GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, &numTransformFeedbackSeparateAttribs);
1146 gl.getBooleanv(GL_TRANSFORM_FEEDBACK_ACTIVE, &transformFeedbackActive);
1149 gl.endTransformFeedback();
1152 gl.bindBuffer(GL_TRANSFORM_FEEDBACK_BUFFER, 0);
1155 gl.bindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, ndx, 0);
1157 GLU_EXPECT_NO_ERROR(gl.getError(), "Transform feedback state reset failed");
1174 gl.getQueryiv(queryTargets[i], GL_CURRENT_QUERY, &queryActive);
1177 gl.endQuery(queryTargets[i]);
1180 GLU_EXPECT_NO_ERROR(gl.getError(), "Asynchronous query state reset failed");
1185 gl.hint(GL_LINE_SMOOTH_HINT, GL_DONT_CARE);
1186 gl.hint(GL_POLYGON_SMOOTH_HINT, GL_DONT_CARE);
1187 gl.hint(GL_TEXTURE_COMPRESSION_HINT, GL_DONT_CARE);
1188 gl.hint(GL_FRAGMENT_SHADER_DERIVATIVE_HINT, GL_DONT_CARE);
1190 GLU_EXPECT_NO_ERROR(gl.getError(), "Hints reset failed");
1196 gl.bindBuffer(GL_COPY_READ_BUFFER, 0);
1197 gl.bindBuffer(GL_COPY_WRITE_BUFFER, 0);
1199 GLU_EXPECT_NO_ERROR(gl.getError(), "Buffer copy state reset failed");
1206 gl.getIntegerv(GL_MAX_IMAGE_UNITS, &numImageUnits);
1209 gl.bindImageTexture(ndx, 0, 0, GL_FALSE, 0, GL_READ_ONLY, GL_R8);
1211 GLU_EXPECT_NO_ERROR(gl.getError(), "Image state reset failed");
1217 gl.minSampleShading(0.0f);
1218 gl.disable(GL_SAMPLE_SHADING);
1220 GLU_EXPECT_NO_ERROR(gl.getError(), "Sample shading state reset failed");
1226 const bool entrypointsPresent = gl.debugMessageControl != DE_NULL &&
1227 gl.debugMessageCallback != DE_NULL;
1232 gl.debugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, DE_NULL, true);
1233 gl.debugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DEBUG_SEVERITY_LOW, 0, DE_NULL, false);
1234 gl.debugMessageCallback(DE_NULL, DE_NULL);
1237 gl.enable(GL_DEBUG_OUTPUT);
1239 gl.disable(GL_DEBUG_OUTPUT);