Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
[WebGPU] Integrate Metal-cpp
https://bugs.webkit.org/show_bug.cgi?id=240746 <rdar://problem/89344870> Reviewed by Dean Jackson. Metal-cpp is a low-overhead C++ interface for Metal. https://developer.apple.com/metal/cpp/ Metal-cpp isn't a library per-se, but is instead just a collection of files which users are supposed to just copy into their project. This does just that, and hooks up all the necessary flags and paths and everything. This uses the "single header alternative" described on that webpage, and creates the single file as a build step. Metal-cpp files should not be style-checked. * Source/WebGPU/Configurations/WebGPU.xcconfig: * Source/WebGPU/WebGPU.xcodeproj/project.pbxproj: * Source/WebGPU/WebGPU/Metal.cpp: Added. * Source/WebGPU/WebGPU/config.h: * Source/WebGPU/WebGPU/metal-cpp/Foundation/Foundation.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSArray.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSAutoreleasePool.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSBundle.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSData.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSDate.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSDefines.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSDictionary.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSEnumerator.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSError.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSLock.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSNotification.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSNumber.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSObjCRuntime.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSObject.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSPrivate.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSProcessInfo.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSRange.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSString.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSTypes.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Foundation/NSURL.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/LICENSE.txt: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLAccelerationStructure.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLAccelerationStructureCommandEncoder.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLAccelerationStructureTypes.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLArgument.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLArgumentEncoder.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLBinaryArchive.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLBlitCommandEncoder.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLBlitPass.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLBuffer.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCaptureManager.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCaptureScope.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCommandBuffer.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCommandEncoder.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCommandQueue.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLComputeCommandEncoder.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLComputePass.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLComputePipeline.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCounters.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLDefines.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLDepthStencil.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLDevice.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLDrawable.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLDynamicLibrary.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLEvent.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFence.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFunctionConstantValues.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFunctionDescriptor.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFunctionHandle.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFunctionLog.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFunctionStitching.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLHeaderBridge.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLHeap.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLIndirectCommandBuffer.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLIndirectCommandEncoder.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLIntersectionFunctionTable.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLLibrary.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLLinkedFunctions.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLParallelRenderCommandEncoder.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLPipeline.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLPixelFormat.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLPrivate.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLRasterizationRate.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLRenderCommandEncoder.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLRenderPass.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLRenderPipeline.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLResource.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLResourceStateCommandEncoder.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLResourceStatePass.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLSampler.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLStageInputOutputDescriptor.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLTexture.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLTypes.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLVertexDescriptor.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/MTLVisibleFunctionTable.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/Metal/Metal.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/QuartzCore/CADefines.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/QuartzCore/CAMetalDrawable.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/QuartzCore/CAPrivate.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/QuartzCore/QuartzCore.hpp: Added. * Source/WebGPU/WebGPU/metal-cpp/README.md: Added. * Source/WebGPU/WebGPU/metal-cpp/SingleHeader/MakeSingleHeader.py: Added. (HeaderPrefix): (HeaderPrefix.__init__): (HeaderPrefix.__str__): (HeaderPrefix.__get_commit_hash): (HeaderPrefix.__get_commit_string): (HeaderPrefix.__get_date_string): (__meta_data_string): (SingleHeader): (SingleHeader.__init__): (SingleHeader.__str__): (SingleHeader.append): (SingleHeader.process): (SingleHeader.__read_header): (SingleHeader.__strip_pragma_once): (SingleHeader.__strip_comments): (SingleHeader.__strip_empty_lines): (SingleHeader.__substitute_include_directive): (SingleHeader.__process_include_directives): (SingleHeader.__process_foundation_directives): (SingleHeader.__process_header): (create_argument_parser): (parse_arguments): (make_header): (make_dir): (write_header): * Tools/Scripts/webkitpy/style/checker.py: Canonical link: https://commits.webkit.org/250827@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294599 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- Loading branch information