Bug 223314 - webgl/1.0.4/conformance/extensions/oes-texture-float.html fails
Summary: webgl/1.0.4/conformance/extensions/oes-texture-float.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:33 PDT by Kimmo Kinnunen
Modified: 2021-03-23 23:34 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:33:26 PDT
webgl/1.0.4/conformance/extensions/oes-texture-float.html fails
Comment 1 Kimmo Kinnunen 2021-03-17 01:23:43 PDT
https://www.khronos.org/registry/webgl/sdk/tests/conformance/extensions/oes-texture-float.html?webglVersion=1&quiet=0&quick=1

This test verifies the functionality of the OES_texture_float and WEBGL_color_buffer_float extensions, if available.

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


PASS WebGL context exists

testing format: RGBA expect:failure
PASS getError was expected value: NO_ERROR : texture parameter setup should succeed
PASS getError was expected value: INVALID_ENUM : floating-point texture allocation must be disallowed if OES_texture_float isn't enabled
PASS Successfully enabled OES_texture_float extension

testing format: RGBA expect:success
PASS getError was expected value: NO_ERROR : texture parameter setup should succeed
PASS getError was expected value: NO_ERROR : floating-point texture allocation should succeed if OES_texture_float is enabled
PASS should be green
PASS should be red

testing format: RGB expect:success
PASS getError was expected value: NO_ERROR : texture parameter setup should succeed
PASS getError was expected value: NO_ERROR : floating-point texture allocation should succeed if OES_texture_float is enabled
PASS should be green
PASS should be red

testing format: LUMINANCE expect:success
PASS getError was expected value: NO_ERROR : texture parameter setup should succeed
PASS getError was expected value: NO_ERROR : floating-point texture allocation should succeed if OES_texture_float is enabled
PASS should be green
PASS should be red

testing format: ALPHA expect:success
PASS getError was expected value: NO_ERROR : texture parameter setup should succeed
PASS getError was expected value: NO_ERROR : floating-point texture allocation should succeed if OES_texture_float is enabled
PASS should be green
PASS should be red

testing format: LUMINANCE_ALPHA expect:success
PASS getError was expected value: NO_ERROR : texture parameter setup should succeed
PASS getError was expected value: NO_ERROR : floating-point texture allocation should succeed if OES_texture_float is enabled
PASS should be green
PASS should be red


testing floating-point RGBA render target
PASS getError was expected value: NO_ERROR : texture parameter setup should succeed
PASS getError was expected value: NO_ERROR : floating-point texture allocation should succeed if OES_texture_float is enabled
PASS getError was expected value: NO_ERROR : rendering to floating-point texture should succeed
PASS getError was expected value: NO_ERROR : rendering from floating-point texture should succeed
PASS should be green
PASS getError was expected value: NO_ERROR : getParameter of IMPLEMENTATION_COLOR_READ_{FORMAT|TYPE} should succeed
Checking readback of floating-point values
PASS getError was expected value: NO_ERROR : readPixels from floating-point renderbuffer should succeed
PASS readPixels of float-type data from floating-point renderbuffer succeeded

testing floating-point RGB render target
PASS getError was expected value: NO_ERROR : texture parameter setup should succeed
PASS getError was expected value: NO_ERROR : floating-point texture allocation should succeed if OES_texture_float is enabled
PASS getError was expected value: NO_ERROR : rendering to floating-point texture should succeed
PASS getError was expected value: NO_ERROR : rendering from floating-point texture should succeed
PASS should be green
PASS getError was expected value: NO_ERROR : getParameter of IMPLEMENTATION_COLOR_READ_{FORMAT|TYPE} should succeed
Checking readback of floating-point values
PASS getError was expected value: NO_ERROR : readPixels from floating-point renderbuffer should succeed
PASS readPixels of float-type data from floating-point renderbuffer succeeded

testing floating-point RGBA render target after calling texSubImage
PASS getError was expected value: NO_ERROR : texture parameter setup should succeed
PASS getError was expected value: NO_ERROR : floating-point texture allocation should succeed if OES_texture_float is enabled
PASS getError was expected value: NO_ERROR : texSubImage2D should succeed if OES_texture_float is enabled
PASS getError was expected value: NO_ERROR : rendering to floating-point texture should succeed
PASS getError was expected value: NO_ERROR : rendering from floating-point texture should succeed
PASS should be green
PASS getError was expected value: NO_ERROR : getParameter of IMPLEMENTATION_COLOR_READ_{FORMAT|TYPE} should succeed
Checking readback of floating-point values
PASS getError was expected value: NO_ERROR : readPixels from floating-point renderbuffer should succeed
PASS readPixels of float-type data from floating-point renderbuffer succeeded

testing floating-point RGBA render target after calling texSubImage
PASS getError was expected value: NO_ERROR : texture parameter setup should succeed
PASS getError was expected value: NO_ERROR : floating-point texture allocation should succeed if OES_texture_float is enabled
PASS getError was expected value: NO_ERROR : texSubImage2D should succeed if OES_texture_float is enabled
PASS getError was expected value: NO_ERROR : rendering to floating-point texture should succeed
PASS getError was expected value: NO_ERROR : rendering from floating-point texture should succeed
PASS should be green
PASS getError was expected value: NO_ERROR : getParameter of IMPLEMENTATION_COLOR_READ_{FORMAT|TYPE} should succeed
Checking readback of floating-point values
PASS getError was expected value: NO_ERROR : readPixels from floating-point renderbuffer should succeed
PASS readPixels of float-type data from floating-point renderbuffer succeeded

Framebuffer Tests
PASS getError was expected value: NO_ERROR : texture parameter setup should succeed
Ensure non-color-renderable formats [LUMINANCE, LUMINANCE_ALPHA, ALPHA] fail.
LUMINANCE framebuffer
PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT
PASS gl.getParameter(gl.IMPLEMENTATION_COLOR_READ_FORMAT) is null
PASS getError was expected value: INVALID_OPERATION : IMPLEMENTATION_COLOR_READ_FORMAT should fail for incomplete framebuffers.
PASS gl.getParameter(gl.IMPLEMENTATION_COLOR_READ_TYPE) is null
PASS getError was expected value: INVALID_OPERATION : IMPLEMENTATION_COLOR_READ_TYPE should fail for incomplete framebuffers.
PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : readPixels should fail on incomplete framebuffers.

LUMINANCE_ALPHA framebuffer
PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT
PASS gl.getParameter(gl.IMPLEMENTATION_COLOR_READ_FORMAT) is null
PASS getError was expected value: INVALID_OPERATION : IMPLEMENTATION_COLOR_READ_FORMAT should fail for incomplete framebuffers.
PASS gl.getParameter(gl.IMPLEMENTATION_COLOR_READ_TYPE) is null
PASS getError was expected value: INVALID_OPERATION : IMPLEMENTATION_COLOR_READ_TYPE should fail for incomplete framebuffers.
PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : readPixels should fail on incomplete framebuffers.

ALPHA framebuffer
PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT
PASS gl.getParameter(gl.IMPLEMENTATION_COLOR_READ_FORMAT) is null
PASS getError was expected value: INVALID_OPERATION : IMPLEMENTATION_COLOR_READ_FORMAT should fail for incomplete framebuffers.
PASS gl.getParameter(gl.IMPLEMENTATION_COLOR_READ_TYPE) is null
PASS getError was expected value: INVALID_OPERATION : IMPLEMENTATION_COLOR_READ_TYPE should fail for incomplete framebuffers.
PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : readPixels should fail on incomplete framebuffers.

Ensure color renderable formats [RGBA, RGB] succeed.

RGBA framebuffer tests
RGBA framebuffer with FLOAT readback.
PASS getError was expected value: NO_ERROR : readPixels should return NO_ERROR when reading FLOAT data.
PASS Red channel should be 0 for FLOAT readPixels. Received: 0
PASS Green channel should be 0.25 for FLOAT readPixels. Received: 0.25
PASS Blue channel should be 0.5 for FLOAT readPixels. Received: 0.5
PASS Alpha channel should be 0.75 for FLOAT readPixels. Received: 0.75
PASS getError was expected value: INVALID_OPERATION : readPixels should return INVALID_OPERATION when reading mismatched types. function Uint8Array() {
    [native code]
}
PASS getError was expected value: INVALID_OPERATION : readPixels should return INVALID_OPERATION when reading mismatched types. function Uint16Array() {
    [native code]
}
PASS IMPLEMENTATION_COLOR_READ_FORMAT should be color renderable: RGBA or RGB. Received: RGBA
PASS Passed

RGB framebuffer tests
RGB framebuffer with FLOAT readback.
PASS getError was expected value: NO_ERROR : readPixels should return NO_ERROR when reading FLOAT data.
PASS Red channel should be 0 for FLOAT readPixels. Received: 0
PASS Green channel should be 0.25 for FLOAT readPixels. Received: 0.25
PASS Blue channel should be 0.5 for FLOAT readPixels. Received: 0.5
PASS Alpha channel should be 1 for FLOAT readPixels. Received: 1
PASS getError was expected value: INVALID_OPERATION : readPixels should return INVALID_OPERATION when reading mismatched types. function Uint8Array() {
    [native code]
}
PASS getError was expected value: INVALID_OPERATION : readPixels should return INVALID_OPERATION when reading mismatched types. function Uint16Array() {
    [native code]
}
PASS IMPLEMENTATION_COLOR_READ_FORMAT should be color renderable: RGBA or RGB. Received: RGB
PASS Passed

Test float32 blending without EXT_float_blend.
PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
PASS getError was expected value: NO_ERROR : Float32 draw target without blending
FAIL getError expected: NO_ERROR. Was INVALID_OPERATION : Float32 blending is allowed 

Testing that float32 blending succeeds with EXT_float_blend.
PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
PASS getError was expected value: NO_ERROR : Float32 draw target without blending
PASS getError was expected value: NO_ERROR : Float32 blending is allowed 

Testing that getExtension() returns the same object each time
PASS gl.getExtension("OES_texture_float").myProperty is 2

PASS successfullyParsed is true

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