Remove EGL_ANGLE_experimental_present_path usage with WebRender
Categories
(Core :: Graphics: WebRender, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox72 | --- | fixed |
People
(Reporter: sotaro, Assigned: sotaro)
References
Details
Attachments
(1 file, 1 obsolete file)
(deleted),
text/x-phabricator-request
|
Details |
EGL_ANGLE_experimental_present_path was enabled for fast rendering to SwapChain by ANGLE. But current gecko does not request ANGLE to render to SwapChain for WebRender. Then we do not need to use EGL_ANGLE_experimental_present_path anymore.
But when EGL_ANGLE_experimental_present_path is removed, rendering result of frame buffer is y flipped with ANGLE compared to other OpenGL implementation.
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
Assignee | ||
Comment 2•5 years ago
|
||
The following is fist check-in of EGL_ANGLE_experimental_present_path implementation.
https://github.com/google/angle/commit/2a63b3f8600bb9f90ff2870a0e1a23d251d45239
Assignee | ||
Comment 3•5 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #0)
Instead, we could use EGL_ANGLE_surface_orientation for Y flip. It is already used by chromium.
Hmm, it seems that we could not use EGL_ANGLE_surface_orientation for non SwapChain EGLSurface :(
Updated•5 years ago
|
Assignee | ||
Comment 4•5 years ago
|
||
On chromium, GLSurface has a function FlipsVertically().By default, it returns false.
But DirectCompositionSurfaceWin::FlipsVertically() returns true;
It is stored in Capabilities
- https://cs.chromium.org/chromium/src/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc?l=1407
- https://cs.chromium.org/chromium/src/content/browser/compositor/gpu_browser_compositor_output_surface.cc?l=33
The info seems to be used in SkiaOutputSurfaceImplOnGpu::SwapBuffers()
Assignee | ||
Comment 6•5 years ago
|
||
gecko already has similar function. NativeLayer::SurfaceIsFlipped()
https://searchfox.org/mozilla-central/source/gfx/layers/NativeLayer.h#81
Assignee | ||
Comment 7•5 years ago
|
||
Assignee | ||
Comment 8•5 years ago
|
||
Comment 10•5 years ago
|
||
bugherder |
Description
•