RESOLVED FIXED 192956
[WebGPU] Convert WebGPUBindGroups into MTLArgumentEncoders
https://bugs.webkit.org/show_bug.cgi?id=192956
Summary [WebGPU] Convert WebGPUBindGroups into MTLArgumentEncoders
Justin Fan
Reported 2018-12-20 14:32:23 PST
[WebGPU] Convert WebGPUBindGroups into MTLArgumentEncoders
Attachments
Patch (10.30 KB, patch)
2018-12-20 14:40 PST, Justin Fan
no flags
Patch (11.00 KB, patch)
2018-12-20 15:57 PST, Justin Fan
no flags
Archive of layout-test-results from ews124 for ios-simulator-wk2 (2.46 MB, application/zip)
2018-12-20 18:05 PST, EWS Watchlist
no flags
Patch (16.72 KB, patch)
2018-12-20 18:22 PST, Justin Fan
no flags
Patch for landing (16.72 KB, patch)
2018-12-20 18:25 PST, Justin Fan
no flags
Justin Fan
Comment 1 2018-12-20 14:40:36 PST
Justin Fan
Comment 2 2018-12-20 14:42:11 PST
Justin Fan
Comment 3 2018-12-20 15:57:09 PST
Myles C. Maxfield
Comment 4 2018-12-20 16:10:46 PST
Comment on attachment 357887 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=357887&action=review > Source/WebCore/platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm:57 > + map.set(stage, [[NSMutableArray alloc] initWithObjects:argument.get(), nil]); HashMaps require that their keys not be 0 > Source/WebCore/platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm:91 > + auto mtlArgumentEncoder = adoptNS([device.platformDevice() newArgumentEncoderWithArguments:argumentArrayPair.value.get()]); I think this will fail if there are 0 items in the array. I suggest you filter those out.
Justin Fan
Comment 5 2018-12-20 16:18:36 PST
(In reply to Myles C. Maxfield from comment #4) > Comment on attachment 357887 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=357887&action=review > > > Source/WebCore/platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm:57 > > + map.set(stage, [[NSMutableArray alloc] initWithObjects:argument.get(), nil]); > > HashMaps require that their keys not be 0 The enums I'm using as the keys here are never 0. > > Source/WebCore/platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm:91 > > + auto mtlArgumentEncoder = adoptNS([device.platformDevice() newArgumentEncoderWithArguments:argumentArrayPair.value.get()]); > > I think this will fail if there are 0 items in the array. I suggest you > filter those out. This line is only called if the array exists (hence, not empty).
WebKit Commit Bot
Comment 6 2018-12-20 16:36:40 PST
Comment on attachment 357887 [details] Patch Rejecting attachment 357887 [details] from commit-queue. Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-03', 'build', '--no-clean', '--no-update', '--build-style=release', '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit Last 5000 characters of output: _VIDEO_USES_ELEMENT_FULLSCREEN -DENABLE_WEB_AUDIO -DENABLE_WEB_AUTHN -DENABLE_WEB_RTC -DENABLE_WEBGL -DENABLE_WEBGL2 -DENABLE_WEBGPU -DENABLE_WEBMETAL -DENABLE_WIRELESS_PLAYBACK_TARGET -DENABLE_XSLT -DBUILDING_WEBKIT -DU_DISABLE_RENAMING=1 -DU_SHOW_CPLUSPLUS_API=0 -DGL_SILENCE_DEPRECATION=1 -DGLES_SILENCE_DEPRECATION=1 -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.12 -g -fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics -Wno-sign-conversion -Winfinite-recursion -Wmove -iquote /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/WebCore-generated-files.hmap -I/Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/WebCore-own-target-headers.hmap -I/Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/WebCore-all-target-headers.hmap -iquote /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/WebCore-project-headers.hmap -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/include -IPAL -IForwardingHeaders -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/libxslt -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/libxml2 -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/WebCore -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/WebKitAdditions -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/local/include/WebKitAdditions -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/webrtc -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/local/include/webrtc -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/webrtc/sdk/objc/Framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/local/include/webrtc/sdk/objc/Framework/Headers -I/Volumes/Data/EWS/WebKit/Source/WebCore -I/Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/DerivedSources/x86_64 -I/Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/DerivedSources -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough -Wno-unknown-warning-option -F/Volumes/Data/EWS/WebKit/WebKitBuild/Release -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/PrivateFrameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks -isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/System.framework/PrivateHeaders -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Carbon.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Quartz.framework/Frameworks -include /Volumes/Data/EWS/WebKit/WebKitBuild/PrecompiledHeaders/WebCorePrefix-bvzzitwvipmresapnqakqzoejtsp/WebCorePrefix.h -MMD -MT dependencies -MF /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/UnifiedSource37-mm.d --serialize-diagnostics /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/UnifiedSource37-mm.dia -c /Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/WebCore/unified-sources/UnifiedSource37-mm.mm -o /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/UnifiedSource37-mm.o ** BUILD FAILED ** The following build commands failed: CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/UnifiedSource21-mm.o /Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/WebCore/unified-sources/UnifiedSource21-mm.mm normal x86_64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler (1 failure) Full output: https://webkit-queues.webkit.org/results/10499454
EWS Watchlist
Comment 7 2018-12-20 18:05:20 PST
Comment on attachment 357887 [details] Patch Attachment 357887 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/10499961 New failing tests: imported/w3c/web-platform-tests/webrtc/simplecall-no-ssrcs.https.html
EWS Watchlist
Comment 8 2018-12-20 18:05:22 PST
Created attachment 357911 [details] Archive of layout-test-results from ews124 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews124 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.6
Justin Fan
Comment 9 2018-12-20 18:22:45 PST
Justin Fan
Comment 10 2018-12-20 18:25:43 PST
Created attachment 357914 [details] Patch for landing
WebKit Commit Bot
Comment 11 2018-12-20 19:05:02 PST
Comment on attachment 357914 [details] Patch for landing Clearing flags on attachment: 357914 Committed r239495: <https://trac.webkit.org/changeset/239495>
WebKit Commit Bot
Comment 12 2018-12-20 19:05:04 PST
All reviewed patches have been landed. Closing bug.
Truitt Savell
Comment 13 2018-12-21 08:10:52 PST
after changes in https://trac.webkit.org/changeset/239495/webkit we are seeing around 13 test failures on WK2 for Sierra. Most of these are webgpu/ tests. build: https://build.webkit.org/builders/Apple%20Sierra%20Release%20WK2%20%28Tests%29/builds/13493
Truitt Savell
Comment 14 2018-12-21 09:09:36 PST
Wenson said that this patch turned webgpu off for Sierra and thus these tests may need to be skipped now. Justin can you confirm this?
Truitt Savell
Comment 15 2018-12-21 09:42:02 PST
Wenson Hsieh
Comment 16 2018-12-21 09:59:17 PST
Comment on attachment 357914 [details] Patch for landing View in context: https://bugs.webkit.org/attachment.cgi?id=357914&action=review > Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig:376 > +ENABLE_WEBGPU_iphoneos = $(ENABLE_WEBGPU$(WK_IOS_1100)); Perhaps I've missed something here, but I can't seem to find where WK_IOS_1100 is defined.
Note You need to log in before you can comment on or make changes to this bug.