Skip to content

Commit f6ee1b4

Browse files
Add readBuffer coverage for invalid enums below COLOR_ATTACHMENT0 (#3771)
This adds WebGL 2 conformance coverage for invalid readBuffer() enums below GL_COLOR_ATTACHMENT0 on framebuffer objects. The test verifies that: - readBuffer(GL_COLOR_ATTACHMENT0 - 1) generates INVALID_ENUM - READ_BUFFER remains unchanged after the failed call This covers the Chromium regression where enums below GL_COLOR_ATTACHMENT0 were not rejected correctly during validation. chromium issue: https://issues.chromium.org/issues/500066231 chromium bug fix merge request: : https://chromium-review.googlesource.com/c/chromium/src/+/7733122 Co-authored-by: Kai Ninomiya <kainino@chromium.org>
1 parent 5a01424 commit f6ee1b4

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

sdk/tests/conformance2/renderbuffers/readbuffer.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,16 @@
7575
gl.readBuffer(gl.COLOR_ATTACHMENT0);
7676
wtu.glErrorShouldBe(gl, gl.NO_ERROR,
7777
"calling readBuffer with GL_COLOR_ATTACHMENT0 on fbo should succeed.");
78+
gl.readBuffer(gl.COLOR_ATTACHMENT0 - 1);
79+
wtu.glErrorShouldBe(gl, gl.INVALID_ENUM,
80+
"calling readBuffer with an enum below GL_COLOR_ATTACHMENT0 on fbo should generate INVALID_ENUM.");
81+
shouldBe('gl.getParameter(gl.READ_BUFFER)', 'gl.COLOR_ATTACHMENT0');
7882

7983
var maxColorAttachments = gl.getParameter(gl.MAX_COLOR_ATTACHMENTS);
8084
gl.readBuffer(gl.COLOR_ATTACHMENT0 + maxColorAttachments);
8185
wtu.glErrorShouldBe(gl, gl.INVALID_OPERATION,
8286
"calling readBuffer with GL_COLOR_ATTACHMENTi that exceeds MAX_COLOR_ATTACHMENT on fbo should generate INVALID_OPERATION.");
87+
shouldBe('gl.getParameter(gl.READ_BUFFER)', 'gl.COLOR_ATTACHMENT0');
8388
gl.readBuffer(gl.COLOR_ATTACHMENT1);
8489
wtu.glErrorShouldBe(gl, gl.NO_ERROR,
8590
"calling readBuffer with GL_COLOR_ATTACHMENT1 on the fbo should succeed.");

0 commit comments

Comments
 (0)