Open
Bug 1200864
Opened 10 years ago
Updated 2 years ago
Skip DrawElements buffer validation when we have robust_buffer_access
Categories
(Core :: Graphics: CanvasWebGL, enhancement, P2)
Core
Graphics: CanvasWebGL
Tracking
()
NEW
People
(Reporter: jgilbert, Unassigned)
References
(Blocks 1 open bug)
Details
(Keywords: feature, perf, Whiteboard: webgl-perf)
Attachments
(2 files)
7.09 KB,
patch
|
u480271
:
review+
|
Details | Diff | Splinter Review |
5.67 KB,
patch
|
u480271
:
review+
|
Details | Diff | Splinter Review |
robust_buffer_access behavior is also always guaranteed by D3D10 and above.
Attachment #8655714 -
Flags: review?(dglastonbury)
Reporter | ||
Comment 1•10 years ago
|
||
Attachment #8655715 -
Flags: review?(dglastonbury)
Comment on attachment 8655714 [details] [diff] [review]
0001-Don-t-validate-indices-with-robust_buffer_access_beh.patch
Review of attachment 8655714 [details] [diff] [review]:
-----------------------------------------------------------------
nits
::: dom/canvas/WebGLContextDraw.cpp
@@ +253,4 @@
>
> if (!ValidateBufferFetching(info))
> return false;
> +
WS
::: dom/canvas/WebGLContextValidate.cpp
@@ +1939,4 @@
>
> if (mLoseContextOnMemoryPressure)
> mContextObserver->RegisterMemoryPressureEvent();
> +
WS
::: gfx/gl/GLContext.cpp
@@ +1643,4 @@
> 0, nullptr,
> true);
> }
> +
WS
::: gfx/gl/GLContext.h
@@ +529,4 @@
> * Init features regarding OpenGL extension and context version and profile
> */
> void InitFeatures();
> +
WS
@@ +3619,4 @@
> static bool ShouldSpew();
> static bool ShouldDumpExts();
> void Readback(SharedSurface* src, gfx::DataSourceSurface* dest);
> +
WS
::: gfx/gl/GLContextEGL.h
@@ +69,4 @@
> virtual bool IsWARP() const override {
> return sEGLLibrary.IsWARP();
> }
> +
WS
Attachment #8655714 -
Flags: review?(dglastonbury) → review+
Comment on attachment 8655715 [details] [diff] [review]
0002-Ask-for-robust_buffer_access.patch
Review of attachment 8655715 [details] [diff] [review]:
-----------------------------------------------------------------
nits
::: gfx/gl/GLContextProviderEGL.cpp
@@ +511,5 @@
> +CreateContextForShareContext(EGLDisplay display, EGLConfig config,
> + EGLContext shareContext)
> +{
> + EGLContext context = nullptr;
> +
WS
@@ +520,5 @@
> + context = sEGLLibrary.fCreateContext(EGL_DISPLAY(), config, shareContext,
> + kContextAttribsRobustness);
> + }
> + }
> +
WS
@@ +525,5 @@
> + if (!context) {
> + context = sEGLLibrary.fCreateContext(EGL_DISPLAY(), config, shareContext,
> + kContextAttribs);
> + }
> +
WS
@@ +541,4 @@
> NS_WARNING("Failed to bind API to GLES!");
> return nullptr;
> }
> +
WS
@@ +546,5 @@
> + if (shareContext) {
> + context = CreateContextForShareContext(EGL_DISPLAY(), config,
> + shareContext->mContext);
> + }
> +
WS
@@ +554,2 @@
> }
> +
WS
Attachment #8655715 -
Flags: review?(dglastonbury) → review+
Reporter | ||
Comment 4•10 years ago
|
||
Haha, I was using a different editor. Sorry for the WS!
Comment 6•10 years ago
|
||
Backed out in https://hg.mozilla.org/integration/mozilla-inbound/rev/5cc421782909 for Win8 mochitest-gl failures like https://treeherder.mozilla.org/logviewer.html#?job_id=13636506&repo=mozilla-inbound
Reporter | ||
Comment 7•10 years ago
|
||
It looks like ANGLE does these even if we don't.
We can at least skip ours, though.
Reporter | ||
Updated•9 years ago
|
Severity: normal → enhancement
Reporter | ||
Updated•6 years ago
|
Priority: -- → P2
Reporter | ||
Updated•6 years ago
|
Assignee: jgilbert → nobody
Updated•3 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•