Closed
Bug 1421199
Opened 7 years ago
Closed 7 years ago
Use EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE for WebRender
Categories
(Core :: Graphics: WebRender, enhancement, P1)
Core
Graphics: WebRender
Tracking
()
RESOLVED
FIXED
mozilla59
Tracking | Status | |
---|---|---|
firefox59 | --- | fixed |
People
(Reporter: sotaro, Assigned: sotaro)
References
Details
(Whiteboard: [wr-mvp])
Attachments
(3 files, 3 obsolete files)
1000 bytes,
patch
|
jgilbert
:
review+
|
Details | Diff | Splinter Review |
1.24 KB,
patch
|
jgilbert
:
review+
|
Details | Diff | Splinter Review |
2.54 KB,
patch
|
sotaro
:
review+
|
Details | Diff | Splinter Review |
In Bug 1419876 Comment 1, there is an info to make fast ANGLE.
https://github.com/Microsoft/angle/wiki/Getting-Good-Performance-From-ANGLE#--use-our-render-to-backbuffer-flags
With the info, I looked into ANGLE source and found EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE. It is used in Renderer11 as a flag for enabling fast path.
Assignee | ||
Updated•7 years ago
|
Assignee: nobody → sotaro.ikeda.g
Assignee | ||
Comment 1•7 years ago
|
||
Assignee | ||
Comment 2•7 years ago
|
||
Attachment #8932375 -
Attachment is obsolete: true
Assignee | ||
Comment 3•7 years ago
|
||
With attachment 8932376 [details] [diff] [review], peak fps of http://learningwebgl.com/lessons/lesson03/index.html on P50(Win10) was changed from 50fps to 60fps.
Assignee | ||
Comment 4•7 years ago
|
||
This change is from https://github.com/Microsoft/angle/commit/fb8a709e46fcf4385bf0793cac8962942b7b8f28
Without the change, ANGLE could not create GLES3 with "present path fast".
Attachment #8932376 -
Attachment is obsolete: true
Assignee | ||
Comment 5•7 years ago
|
||
Assignee | ||
Comment 6•7 years ago
|
||
Assignee | ||
Updated•7 years ago
|
Attachment #8932411 -
Flags: review?(jgilbert)
Assignee | ||
Updated•7 years ago
|
Attachment #8932407 -
Flags: review?(jgilbert)
Assignee | ||
Updated•7 years ago
|
Attachment #8932406 -
Flags: review?(jgilbert)
Updated•7 years ago
|
Status: NEW → ASSIGNED
Priority: -- → P1
Whiteboard: [wr-mvp]
Updated•7 years ago
|
Attachment #8932406 -
Flags: review?(jgilbert) → review+
Updated•7 years ago
|
Attachment #8932407 -
Flags: review?(jgilbert) → review+
Comment 7•7 years ago
|
||
Comment on attachment 8932411 [details] [diff] [review]
patch part 3 - Add GetAndInitDisplayForWebRender()
Review of attachment 8932411 [details] [diff] [review]:
-----------------------------------------------------------------
::: gfx/gl/GLLibraryEGL.cpp
@@ +148,5 @@
>
> +static EGLDisplay
> +GetAndInitDisplayForWebRender(GLLibraryEGL& egl, void* displayType)
> +{
> + EGLint attrib_list[] = { LOCAL_EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE,
const-qualify const lists, please!
Attachment #8932411 -
Flags: review?(jgilbert) → review+
Assignee | ||
Comment 8•7 years ago
|
||
Apply the comment.
Attachment #8932411 -
Attachment is obsolete: true
Attachment #8932671 -
Flags: review+
Assignee | ||
Comment 9•7 years ago
|
||
Comment 10•7 years ago
|
||
Pushed by sikeda@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/9e30a05d64c6
Use EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE for WebRender r=jgilbert
Comment 11•7 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox59:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
Comment 12•7 years ago
|
||
It seems like Chrome doesn't use this. It would be interesting to know why.
Comment 13•7 years ago
|
||
Jeff, I'm trying to figure this out.
Filed https://github.com/baldurk/renderdoc/issues/810
Comment 14•7 years ago
|
||
Ok, Chrome must be getting some other way to achieve the same effect. I verified that the GPU capture of MotionMark running in Chrome doesn't do a final blit on Present() and instead just renders into the swap chain right away.
Comment 15•7 years ago
|
||
I talked to Geoff from ANGLE and he pointed out the Chrome is using EGL_SURFACE_ORIENTATION_INVERT_Y_ANGLE and just draws things upside down.
See https://bugs.chromium.org/p/angleproject/issues/detail?id=1262 and https://bugs.chromium.org/p/chromium/issues/detail?id=525379
Comment 16•7 years ago
|
||
Thanks Jeff, this is interesting. The discussion doesn't mention any comparisons between those two ways around the full-screen blit. I'd assume that the difference is small. We can investigate at some point in the future.
Updated•6 years ago
|
Flags: needinfo?(jgilbert)
You need to log in
before you can comment on or make changes to this bug.
Description
•