Closed Bug 1323367 Opened 7 years ago Closed 7 years ago

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

Categories

(Core :: Graphics: CanvasWebGL, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1305864

People

(Reporter: daoshengmu, Assigned: daoshengmu)

References

Details

Assignee: nobody → dmu
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
Closed: 7 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.