Closed Bug 1408289 Opened 7 years ago Closed 2 years ago

Investigate why ANGLE3229 need to force open alpha channel to pass CreatePbufferSurfaceFromClientBuffer validation

Categories

(Core :: Graphics: WebRender, enhancement, P5)

Unspecified
Windows
enhancement

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox57 --- unaffected
firefox58 --- unaffected

People

(Reporter: cleu, Unassigned)

References

Details

As Bug 1407748 discussed, we failed to create valid pbuffer surface in WebRender after updating ANGLE to chromium/3229 in Bug 1371190.

The problem is in ANGLE3229, if we passed bit depth = 24 which is normal case[1], we will get a config with bindToTextureRGB=GL_TRUE and bindToTextureRGBA=GL_FALSE, which is incompatible with our pbuffer surface which is GL_TEXTURE_RGBA, resulting in validation failure[2] and hit an assert[3].

However, this issue does not happen in ANGLE chromium/2950, I think it worth to take a look to figure out why newer ANGLE change this behavior.

[1]: https://dxr.mozilla.org/mozilla-central/source/gfx/gl/GLContextProviderEGL.cpp?q=%2Bfunction%3A%22%28static+in+gfx%2Fgl%2FGLContextProviderEGL.cpp%29%3A%3Amozilla%3A%3Agl%3A%3ACreateConfig%28EGLConfig+%2A%2C+int32_t%2C+bool%29%22&redirect_type=single#642

[2]: https://dxr.mozilla.org/mozilla-central/source/gfx/angle/src/libANGLE/validationEGL.cpp#1100

[3]: https://dxr.mozilla.org/mozilla-central/source/gfx/webrender_bindings/RenderD3D11TextureHostOGL.cpp?q=RenderD3D11TextureHostOGL.cpp&redirect_type=direct#99

No longer an issue.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.