Summary: | Implement RemoteGraphicsContextGL | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Kimmo Kinnunen <kkinnunen> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Component: | WebGL | Assignee: | Kimmo Kinnunen <kkinnunen> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Severity: | Normal | CC: | annulen, cdumez, changseok, cmarcelo, dino, eric.carlson, esprehn+autocc, ews-watchlist, glenn, graouts, gyuyoung.kim, hi, jer.noble, jiewen_tan, joepeck, kondapallykalyan, luiz, mkwst, philipj, ryuan.choi, sergio, simon.fraser, webkit-bug-importer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Priority: | P1 | Keywords: | InRadar | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Version: | WebKit Nightly Build | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hardware: | Mac | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bug Depends on: | 217213, 219431, 219486, 219487 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bug Blocks: | 217211 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Attachments: |
|
Description
Kimmo Kinnunen
2020-10-02 04:30:36 PDT
Created attachment 413049 [details]
Patch
Created attachment 414787 [details]
Patch
Created attachment 414797 [details]
Patch
Comment on attachment 414797 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=414797&action=review This looks great to me! > Source/WebCore/platform/graphics/GraphicsContextGL.h:675 > + REQUESTABLE_EXTENSIONS_ANGLE = 0x93A8, // NOLINT What does the NOLINT mean? > Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.h:30 > + void activeTexture(GCGLenum texture) final People might complain about the indentation here. > Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.h:147 > + sendSync(Messages::RemoteGraphicsContextGL::CreateFramebuffer(), Messages::RemoteGraphicsContextGL::CreateFramebuffer::Reply(returnValue), m_graphicsContextGLIdentifier, 1_s); I wonder if we should have a local sendSync form that calls sendSync adding the m_graphicsContextGLIdentifier and timeout? Created attachment 415024 [details]
Patch
Created attachment 415117 [details]
Patch
Created attachment 415121 [details]
Patch
Created attachment 415122 [details]
Patch
Created attachment 415123 [details]
Patch
Created attachment 415124 [details]
Patch
Created attachment 415125 [details]
Patch
Created attachment 415126 [details]
Patch
Created attachment 415127 [details]
Patch
Created attachment 415128 [details]
Patch
Created attachment 415129 [details]
Patch
Created attachment 415131 [details]
Patch
Created attachment 415135 [details]
Patch
Created attachment 415202 [details]
Patch
Created attachment 415216 [details]
Patch
Created attachment 415218 [details]
Patch
Created attachment 415219 [details]
Patch
Created attachment 415220 [details]
Patch
Created attachment 415221 [details]
Patch
Created attachment 415223 [details]
Patch
Created attachment 415285 [details]
Patch
Created attachment 415297 [details]
Patch
Created attachment 415394 [details]
Patch
Comment on attachment 415394 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=415394&action=review > Source/WebCore/page/Chrome.cpp:553 > + // TODO: GPU process. Change to GCGLManager, make it work, return null for others. Maybe file a bug and reference it here to track the work. > Source/WebCore/platform/graphics/RemoteGraphicsContextGLProxyBase.cpp:48 > +void RemoteGraphicsContextGLProxyBase::setContextVisibility(bool) > +{ > +} Should these implementations ASSERT_NOT_REACHED? > Source/WebCore/platform/graphics/cocoa/GraphicsContextGLIOSurfaceSwapChain.h:49 > + void* handle { nullptr }; // Producer specific metadata handle (such as EGLSurface). It's unclear what the ownership model is for this handle. > Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:379 > + GraphicsContextGLIdentifier m_graphicsContextGLIdentifier { GraphicsContextGLIdentifier::generate() }; This object identifier does not guarantee uniqueness between WebContent processes, but it must. Created attachment 415724 [details]
Patch
Created attachment 415727 [details]
Patch
Created attachment 415729 [details]
Patch
Created attachment 415739 [details]
Patch
Committed r270587: <https://trac.webkit.org/changeset/270587> All reviewed patches have been landed. Closing bug and clearing flags on attachment 415739 [details]. |