Bug 198683

Summary: Work around the performance cost of creating bind groups
Product: WebKit Reporter: Myles C. Maxfield <mmaxfield>
Component: WebGPUAssignee: Justin Fan <justin_fan>
Status: RESOLVED DUPLICATE    
Severity: Normal    
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Myles C. Maxfield
Reported 2019-06-07 15:05:44 PDT
We model bind groups as argument buffers, which turn out to be regular MTLBuffers in Metal. On some drivers, creating a MTLBuffer can take a huge amount of time (https://github.com/gpuweb/gpuweb/issues/116#issuecomment-449245367). Instead, we should try to make one big buffer, and use segments of the same buffer for many bind groups (using the "offset" parameter of -[MTLArgumentEncoder setArgumentBuffer:offset] https://developer.apple.com/documentation/metal/mtlargumentencoder/2915777-setargumentbuffer?language=objc
Attachments
Justin Fan
Comment 1 2019-08-15 16:35:11 PDT
This was implemented in https://trac.webkit.org/changeset/248606/webkit. *** This bug has been marked as a duplicate of bug 200606 ***
Note You need to log in before you can comment on or make changes to this bug.