Summary: | GraphicsContextGL should have robust multivalue setters | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Kimmo Kinnunen <kkinnunen> | ||||||||||||||||||||||||||
Component: | WebGL | Assignee: | Kimmo Kinnunen <kkinnunen> | ||||||||||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||||||||||
Severity: | Normal | CC: | cdumez, changseok, dino, esprehn+autocc, ews-watchlist, graouts, gyuyoung.kim, kondapallykalyan, pnormand, webkit-bug-importer | ||||||||||||||||||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||||||||||||||||||
Version: | WebKit Local Build | ||||||||||||||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||||||||||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=219340 | ||||||||||||||||||||||||||||
Bug Depends on: | |||||||||||||||||||||||||||||
Bug Blocks: | 217211, 219320 | ||||||||||||||||||||||||||||
Attachments: |
|
Description
Kimmo Kinnunen
2020-11-23 05:17:37 PST
Created attachment 414831 [details]
Patch
Created attachment 414832 [details]
Patch
Created attachment 414833 [details]
Patch
Created attachment 414834 [details]
Patch
Created attachment 414837 [details]
Patch
Created attachment 414839 [details]
Patch
Created attachment 414840 [details]
Patch
Comment on attachment 414840 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=414840&action=review Very nice. > Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:1132 > - m_context->getExtensions().texImage2DRobustANGLE(target, level, internalformat, width, height, border, format, type, 0, reinterpret_cast<void*>(offset)); > + m_context->texImage2D(target, level, internalformat, width, height, border, format, type, offset); Was this intentional? Does texImage2D call the robust ANGLE form itself? Created attachment 414895 [details]
Patch
(In reply to Dean Jackson from comment #8) > > Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:1132 > > - m_context->getExtensions().texImage2DRobustANGLE(target, level, internalformat, width, height, border, format, type, 0, reinterpret_cast<void*>(offset)); > > + m_context->texImage2D(target, level, internalformat, width, height, border, format, type, offset); > > Was this intentional? Does texImage2D call the robust ANGLE form itself? Yes. Sorry for not describing it in the ChangeLog and not carrying the change through its logical conclusion. I uploaded a new patch, which sohuld clarify this in the ChangeLog and in the code. In the code, I moved all the texImage functions from the ExtensionsGL to GraphicsContextGL. Created attachment 414896 [details]
Patch
Created attachment 414897 [details]
Patch
Created attachment 414898 [details]
Patch
Created attachment 414899 [details]
Patch
Committed r270185: <https://trac.webkit.org/changeset/270185> All reviewed patches have been landed. Closing bug and clearing flags on attachment 414899 [details]. Comment on attachment 414899 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=414899&action=review > Source/WebCore/platform/graphics/GraphicsTypesGL.h:72 > + GCGLSpan(const GCGLSpan<U, Extent>& other, std::enable_if_t<std::is_convertible_v<U(*)[], T(*)[]>, nullptr_t> = nullptr) Source/WebCore/platform/graphics/GraphicsTypesGL.h:72:104: error: unknown type name 'nullptr_t'; did you mean 'std::nullptr_t'? GCGLSpan(const GCGLSpan<U, Extent>& other, std::enable_if_t<std::is_convertible_v<U(*)[], T(*)[]>, nullptr_t> = nullptr) ^~~~~~~~~ std::nullptr_t /usr/bin/../lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../include/c++/10.2.0/x86_64-unknown-linux-gnu/bits/c++config.h:264:29: note: 'std::nullptr_t' declared here typedef decltype(nullptr) nullptr_t; ^ Thanks Philippe |