Bug 223321 - webgl/1.0.4/conformance/reading/read-pixels-test.html fails
Summary: webgl/1.0.4/conformance/reading/read-pixels-test.html fails
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGL (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks: webgl2conformance
  Show dependency treegraph
 
Reported: 2021-03-16 23:37 PDT by Kimmo Kinnunen
Modified: 2021-03-23 23:38 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kimmo Kinnunen 2021-03-16 23:37:34 PDT
webgl/1.0.4/conformance/reading/read-pixels-test.html fails
Comment 1 Kimmo Kinnunen 2021-03-17 01:19:34 PDT
https://www.khronos.org/registry/webgl/sdk/tests/conformance/reading/read-pixels-test.html?webglVersion=1&quiet=0&quick=1

 
Checks that ReadPixels works as expected.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

antialias = false



checking: in range
PASS color pixel at 0, 0 should be about 51,153,102,255, was = 51,153,102,255
PASS color pixel at 1, 0 should be about 51,153,102,255, was = 51,153,102,255
PASS color pixel at 0, 1 should be about 51,153,102,255, was = 51,153,102,255
PASS color pixel at 1, 1 should be about 51,153,102,255, was = 51,153,102,255

checking: off top left
FAIL color pixel at 0, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 0, 1 should be about 19,72,0,198, was = 0,0,0,0
PASS color pixel at 1, 1 should be about 51,153,102,255, was = 51,153,102,255

checking: off bottom right
PASS color pixel at 0, 0 should be about 51,153,102,255, was = 51,153,102,255
FAIL color pixel at 1, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 0, 1 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 1 should be about 19,72,0,198, was = 0,0,0,0

checking: completely off top 
FAIL color pixel at 0, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 0, 1 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 1 should be about 19,72,0,198, was = 0,0,0,0

checking: completely off bottom
FAIL color pixel at 0, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 0, 1 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 1 should be about 19,72,0,198, was = 0,0,0,0

checking: completely off left
FAIL color pixel at 0, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 0, 1 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 1 should be about 19,72,0,198, was = 0,0,0,0

checking: completeley off right
FAIL color pixel at 0, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 0, 1 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 1 should be about 19,72,0,198, was = 0,0,0,0
PASS getError was expected value: NO_ERROR : there should be no GL errors

check non-default format or type
PASS getError was expected value: INVALID_ENUM : Should not be able to read as DEPTH_COMPONENT
PASS getError was expected value: INVALID_ENUM : Should not be able to read as DEPTH_STENCIL
PASS getError was expected value: INVALID_ENUM : Should not be able to read as 0x8229
PASS getError was expected value: INVALID_ENUM : Should not be able to read as RGBA4
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as LUMINANCE
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as LUMINANCE_ALPHA
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as 0x1903
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as 0x8228
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as 0x8d99
PASS getError was expected value: INVALID_ENUM : Should not be able to read as 0x84fa
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as UNSIGNED_SHORT
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as SHORT
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as BYTE
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as UNSIGNED_INT
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as 0x8368

check invalid combinations of format/type
IMPLEMENTATION_COLOR_READ_FORMAT: RGBA
IMPLEMENTATION_COLOR_READ_TYPE: UNSIGNED_BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / UNSIGNED_SHORT_5_6_5
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / UNSIGNED_SHORT_5_5_5_1
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / UNSIGNED_SHORT_4_4_4_4
PASS getError was expected value: NO_ERROR : Should be able to read as RGBA / UNSIGNED_BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / UNSIGNED_BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / UNSIGNED_BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / UNSIGNED_BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / UNSIGNED_BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / UNSIGNED_SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / UNSIGNED_SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / UNSIGNED_SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / UNSIGNED_SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / UNSIGNED_SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / UNSIGNED_INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / UNSIGNED_INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / UNSIGNED_INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / UNSIGNED_INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / UNSIGNED_INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / FLOAT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / FLOAT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / FLOAT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / FLOAT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / FLOAT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / 0x8d61
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / 0x8d61
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / 0x8d61
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / 0x8d61
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / 0x8d61

check reading with lots of drawing
PASS actual is expected
PASS actual is expected
PASS actual is expected
PASS getError was expected value: NO_ERROR : there should be no GL errors

check readback into Uint8ClampedArray
PASS getError was expected value: NO_ERROR : there should be no GL errors reading back into a Uint8ClampedArray
PASS Readback into Uint8ClampedArray worked successfully
PASS `gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8Array(4));` should not throw.
PASS `gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8Array(new ArrayBuffer(4)));` should not throw.
PASS `gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8ClampedArray(4));` should not throw.
PASS `gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8ClampedArray(new ArrayBuffer(4)));` should not throw.
antialias = true



checking: in range
PASS color pixel at 0, 0 should be about 51,153,102,255, was = 51,153,102,255
PASS color pixel at 1, 0 should be about 51,153,102,255, was = 51,153,102,255
PASS color pixel at 0, 1 should be about 51,153,102,255, was = 51,153,102,255
PASS color pixel at 1, 1 should be about 51,153,102,255, was = 51,153,102,255

checking: off top left
FAIL color pixel at 0, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 0, 1 should be about 19,72,0,198, was = 0,0,0,0
PASS color pixel at 1, 1 should be about 51,153,102,255, was = 51,153,102,255

checking: off bottom right
PASS color pixel at 0, 0 should be about 51,153,102,255, was = 51,153,102,255
FAIL color pixel at 1, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 0, 1 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 1 should be about 19,72,0,198, was = 0,0,0,0

checking: completely off top 
FAIL color pixel at 0, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 0, 1 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 1 should be about 19,72,0,198, was = 0,0,0,0

checking: completely off bottom
FAIL color pixel at 0, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 0, 1 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 1 should be about 19,72,0,198, was = 0,0,0,0

checking: completely off left
FAIL color pixel at 0, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 0, 1 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 1 should be about 19,72,0,198, was = 0,0,0,0

checking: completeley off right
FAIL color pixel at 0, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 0 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 0, 1 should be about 19,72,0,198, was = 0,0,0,0
FAIL color pixel at 1, 1 should be about 19,72,0,198, was = 0,0,0,0
PASS getError was expected value: NO_ERROR : there should be no GL errors

check non-default format or type
FAIL getError expected: INVALID_ENUM. Was INVALID_OPERATION : Should not be able to read as DEPTH_COMPONENT
PASS getError was expected value: INVALID_ENUM : Should not be able to read as DEPTH_STENCIL
PASS getError was expected value: INVALID_ENUM : Should not be able to read as 0x8229
PASS getError was expected value: INVALID_ENUM : Should not be able to read as RGBA4
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as LUMINANCE
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as LUMINANCE_ALPHA
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as 0x1903
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as 0x8228
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as 0x8d99
PASS getError was expected value: INVALID_ENUM : Should not be able to read as 0x84fa
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as UNSIGNED_SHORT
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as SHORT
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as BYTE
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as UNSIGNED_INT
PASS getError was one of: INVALID_ENUM or INVALID_OPERATION : Should not be able to read as 0x8368

check invalid combinations of format/type
IMPLEMENTATION_COLOR_READ_FORMAT: RGBA
IMPLEMENTATION_COLOR_READ_TYPE: UNSIGNED_BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / UNSIGNED_SHORT_5_6_5
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / UNSIGNED_SHORT_5_5_5_1
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / UNSIGNED_SHORT_4_4_4_4
PASS getError was expected value: NO_ERROR : Should be able to read as RGBA / UNSIGNED_BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / UNSIGNED_BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / UNSIGNED_BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / UNSIGNED_BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / UNSIGNED_BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / BYTE
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / UNSIGNED_SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / UNSIGNED_SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / UNSIGNED_SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / UNSIGNED_SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / UNSIGNED_SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / SHORT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / UNSIGNED_INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / UNSIGNED_INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / UNSIGNED_INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / UNSIGNED_INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / UNSIGNED_INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / INT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / FLOAT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / FLOAT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / FLOAT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / FLOAT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / FLOAT
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGBA / 0x8d61
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as RGB / 0x8d61
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / 0x8d61
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as ALPHA / 0x8d61
PASS getError was one of: INVALID_OPERATION or INVALID_ENUM : Should not be able to read as LUMINANCE / 0x8d61

check reading with lots of drawing
PASS actual is expected
PASS actual is expected
PASS actual is expected
PASS getError was expected value: NO_ERROR : there should be no GL errors

check readback into Uint8ClampedArray
PASS getError was expected value: NO_ERROR : there should be no GL errors reading back into a Uint8ClampedArray
PASS Readback into Uint8ClampedArray worked successfully
PASS `gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8Array(4));` should not throw.
PASS `gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8Array(new ArrayBuffer(4)));` should not throw.
PASS `gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8ClampedArray(4));` should not throw.
PASS `gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8ClampedArray(new ArrayBuffer(4)));` should not throw.
PASS successfullyParsed is true

TEST COMPLETE
Comment 2 Kimmo Kinnunen 2021-03-17 01:45:47 PDT
At least macOS 11.3, iMacPro1,1, Radeon Pro Vega 56
Comment 3 Radar WebKit Bug Importer 2021-03-23 23:38:13 PDT
<rdar://problem/75772729>