[WebGL2 conformance test] conformance2/textures/misc/tex-input-validation.html crash

RESOLVED DUPLICATE of bug 1305864

Status

()

Core
Canvas: WebGL
RESOLVED DUPLICATE of bug 1305864
2 years ago
2 years ago

People

(Reporter: daoshengmu, Assigned: daoshengmu)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Assignee)

Updated

2 years ago
Blocks: 1281250
(Assignee)

Updated

2 years ago
Assignee: nobody → dmu
(Assignee)

Comment 1

2 years ago
https://github.com/KhronosGroup/WebGL/blob/65c5e7b16e98cbb998f742c45f9233f6f038c5c6/sdk/tests/js/tests/tex-input-validation.js#L443

Error message: "getError was expected value: NO_ERROR :  colorBufferFormat: RGB5_A1 internalFormat: RGBA target: TEXTURE_2D"


I think the root cause is ValidateCopyTexSubImage2D() return false when the RGB5_A1 colorBufferFormat doing CopyTexSubImage2D(). (https://dxr.mozilla.org/mozilla-central/rev/8103c612b79c2587ea4ca1b0a9f9f82db4b185b8/gfx/angle/src/libGLESv2/entry_points_gles_2_0.cpp#441)

I have checked if we switch ValidateES3CopyTexImage2DParameters() with 
ValidateES2CopyTexImageParameters will solve our problem.

In IsValidES3CopyTexImageCombination(), it will check if internalFormat is equal to textureFormat.

        if (!EqualOrFirstZero(textureFormatInfo.redBits, sourceEffectiveFormat->redBits) ||
            !EqualOrFirstZero(textureFormatInfo.greenBits, sourceEffectiveFormat->greenBits) ||
            !EqualOrFirstZero(textureFormatInfo.blueBits, sourceEffectiveFormat->blueBits) ||
            !EqualOrFirstZero(textureFormatInfo.alphaBits, sourceEffectiveFormat->alphaBits))
        {
            return false;
        }

However, our internalFormat channels is (8, 8, 8, 8), sourceEffectiveFormat channels is (5, 5, 5, 1). In this case, it does not allow to do copy texture.
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1305864
You need to log in before you can comment on or make changes to this bug.