Changeset 213762 in webkit
- Timestamp:
- Mar 11, 2017 3:09:26 PM (7 years ago)
- Location:
- trunk/Source
- Files:
-
- 17 added
- 11 edited
- 47 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r213753 r213762 1 2017-03-11 Jon Lee <jonlee@apple.com> 2 3 WebGPU prototype - Front-End 4 https://bugs.webkit.org/show_bug.cgi?id=167952 5 6 Reviewed by Dean Jackson. 7 8 * runtime/CommonIdentifiers.h: Add WebGPU objects. 9 1 10 2017-03-10 Filip Pizlo <fpizlo@apple.com> 2 11 -
trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h
r213676 r213762 127 127 macro(WebGL2RenderingContext) \ 128 128 macro(WebGLVertexArrayObject) \ 129 macro(WebGPUBuffer) \ 130 macro(WebGPUCommandBuffer) \ 131 macro(WebGPUCommandQueue) \ 132 macro(WebGPUDepthStencilDescriptor) \ 133 macro(WebGPUDepthStencilState) \ 134 macro(WebGPUDrawable) \ 135 macro(WebGPUFunction) \ 136 macro(WebGPULibrary) \ 137 macro(WebGPURenderCommandEncoder) \ 138 macro(WebGPURenderPassAttachmentDescriptor) \ 139 macro(WebGPURenderPassColorAttachmentDescriptor) \ 140 macro(WebGPURenderPassDepthAttachmentDescriptor) \ 141 macro(WebGPURenderPassDescriptor) \ 142 macro(WebGPURenderPipelineColorAttachmentDescriptor) \ 143 macro(WebGPURenderPipelineDescriptor) \ 144 macro(WebGPURenderPipelineState) \ 145 macro(WebGPURenderingContext) \ 146 macro(WebGPUTexture) \ 147 macro(WebGPUTextureDescriptor) \ 129 148 macro(WebSocket) \ 130 149 macro(__defineGetter__) \ -
trunk/Source/WebCore/ChangeLog
r213759 r213762 1 2017-03-11 Jon Lee <jonlee@apple.com> 2 3 WebGPU prototype - Front-End 4 https://bugs.webkit.org/show_bug.cgi?id=167952 5 6 Reviewed by Dean Jackson. 7 8 This patch adds all of the relevant front-end files, and builds successfully when 9 ENABLE(WEBGPU) is off. For the back-end components that are not yet 10 implemented, a stub was added with a FIXME. 11 12 * DerivedSources.make: Add all the new IDL files. 13 * WebCore.xcodeproj/project.pbxproj: New IDL, front-end and generated files. 14 15 JS custom bindings. 16 * bindings/js/JSDocumentCustom.cpp: Add WebGPU clause for getCSSCanvasContext. 17 * bindings/js/JSHTMLCanvasElementCustom.cpp: 18 (WebCore::JSHTMLCanvasElement::getContext): 19 * bindings/js/JSWebGPURenderPassAttachmentDescriptorCustom.cpp: Added. 20 * bindings/js/JSWebGPURenderingContextCustom.cpp: Added. 21 * html/HTMLCanvasElement.cpp: 22 (WebCore::HTMLCanvasElement::getContext): 23 (WebCore::HTMLCanvasElement::isWebGPUType): 24 (WebCore::HTMLCanvasElement::getContextWebGPU): 25 (WebCore::HTMLCanvasElement::reset): 26 (WebCore::HTMLCanvasElement::paint): 27 (WebCore::HTMLCanvasElement::isGPU): 28 (WebCore::HTMLCanvasElement::getContextWebGPU): For release builds, switch to ASSERT_UNUSED. 29 * html/HTMLCanvasElement.h: 30 * html/canvas/CanvasRenderingContext.h: 31 (WebCore::CanvasRenderingContext::isGPU): 32 33 .cpp, .h, .idl files, wrapped in WEBGPU conditional, and enabled at runtime. 34 * html/canvas/WebGPUBuffer: 35 * html/canvas/WebGPUCommandBuffer: 36 * html/canvas/WebGPUCommandQueue: 37 * html/canvas/WebGPUDepthStencilDescriptor: 38 * html/canvas/WebGPUDepthStencilState: 39 * html/canvas/WebGPUDrawable: 40 * html/canvas/WebGPUEnums: 41 * html/canvas/WebGPUFunction: 42 * html/canvas/WebGPULibrary: 43 * html/canvas/WebGPUObject (no IDL): 44 * html/canvas/WebGPURenderCommandEncoder: 45 * html/canvas/WebGPURenderPassAttachmentDescriptor: 46 * html/canvas/WebGPURenderPassColorAttachmentDescriptor: 47 * html/canvas/WebGPURenderPassDepthAttachmentDescriptor: 48 * html/canvas/WebGPURenderPassDescriptor: 49 * html/canvas/WebGPURenderPipelineColorAttachmentDescriptor: 50 * html/canvas/WebGPURenderPipelineDescriptor: 51 * html/canvas/WebGPURenderPipelineState: 52 * html/canvas/WebGPURenderingContext: 53 * html/canvas/WebGPUTexture: 54 * html/canvas/WebGPUTextureDescriptor: Add stubs. 55 1 56 2017-03-11 Brady Eidson <beidson@apple.com> 2 57 -
trunk/Source/WebCore/DerivedSources.make
r213673 r213762 1 # Copyright (C) 2006-2008, 2012, 2014-2015 Apple Inc. All rights reserved.1 # Copyright (C) 2006-2008, 2012, 2014-2015, 2017 Apple Inc. All rights reserved. 2 2 # Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> 3 3 # Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> … … 563 563 $(WebCore)/html/canvas/WebGLVertexArrayObject.idl \ 564 564 $(WebCore)/html/canvas/WebGLVertexArrayObjectOES.idl \ 565 $(WebCore)/html/canvas/WebGPUBuffer.idl \ 566 $(WebCore)/html/canvas/WebGPUCommandBuffer.idl \ 567 $(WebCore)/html/canvas/WebGPUCommandQueue.idl \ 568 $(WebCore)/html/canvas/WebGPUDepthStencilDescriptor.idl \ 569 $(WebCore)/html/canvas/WebGPUDepthStencilState.idl \ 570 $(WebCore)/html/canvas/WebGPUDrawable.idl \ 571 $(WebCore)/html/canvas/WebGPUFunction.idl \ 572 $(WebCore)/html/canvas/WebGPULibrary.idl \ 573 $(WebCore)/html/canvas/WebGPURenderCommandEncoder.idl \ 574 $(WebCore)/html/canvas/WebGPURenderingContext.idl \ 575 $(WebCore)/html/canvas/WebGPURenderPassAttachmentDescriptor.idl \ 576 $(WebCore)/html/canvas/WebGPURenderPassColorAttachmentDescriptor.idl \ 577 $(WebCore)/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.idl \ 578 $(WebCore)/html/canvas/WebGPURenderPassDescriptor.idl \ 579 $(WebCore)/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.idl \ 580 $(WebCore)/html/canvas/WebGPURenderPipelineDescriptor.idl \ 581 $(WebCore)/html/canvas/WebGPURenderPipelineState.idl \ 582 $(WebCore)/html/canvas/WebGPUTexture.idl \ 583 $(WebCore)/html/canvas/WebGPUTextureDescriptor.idl \ 565 584 $(WebCore)/html/track/AudioTrack.idl \ 566 585 $(WebCore)/html/track/AudioTrackList.idl \ -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r213759 r213762 1406 1406 319AE064142D6B24006563A1 /* StyleFilterData.h in Headers */ = {isa = PBXBuildFile; fileRef = 319AE062142D6B24006563A1 /* StyleFilterData.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1407 1407 319FBD5F15D2F464009640A6 /* CachedImageClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 319FBD5D15D2F444009640A6 /* CachedImageClient.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1408 31A089041E737D51003B6609 /* WebGPUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088C61E737B4D003B6609 /* WebGPUBuffer.cpp */; }; 1409 31A089051E737D51003B6609 /* WebGPUCommandBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088C91E737B4D003B6609 /* WebGPUCommandBuffer.cpp */; }; 1410 31A089061E737D51003B6609 /* WebGPUCommandQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088CC1E737B4D003B6609 /* WebGPUCommandQueue.cpp */; }; 1411 31A089071E737D51003B6609 /* WebGPUDepthStencilDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088CF1E737B4D003B6609 /* WebGPUDepthStencilDescriptor.cpp */; }; 1412 31A089081E737D51003B6609 /* WebGPUDepthStencilState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088D21E737B4D003B6609 /* WebGPUDepthStencilState.cpp */; }; 1413 31A089091E737D51003B6609 /* WebGPUDrawable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088D51E737B4D003B6609 /* WebGPUDrawable.cpp */; }; 1414 31A0890A1E737D51003B6609 /* WebGPUEnums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088D81E737B4D003B6609 /* WebGPUEnums.cpp */; }; 1415 31A0890B1E737D51003B6609 /* WebGPUFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088DB1E737B4D003B6609 /* WebGPUFunction.cpp */; }; 1416 31A0890C1E737D51003B6609 /* WebGPULibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088DE1E737B4D003B6609 /* WebGPULibrary.cpp */; }; 1417 31A0890D1E737D51003B6609 /* WebGPUObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088E11E737B4D003B6609 /* WebGPUObject.cpp */; }; 1418 31A0890E1E737D51003B6609 /* WebGPURenderCommandEncoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088E31E737B4D003B6609 /* WebGPURenderCommandEncoder.cpp */; }; 1419 31A0890F1E737D51003B6609 /* WebGPURenderingContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088E61E737B4D003B6609 /* WebGPURenderingContext.cpp */; }; 1420 31A089101E737D51003B6609 /* WebGPURenderPassAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088E91E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.cpp */; }; 1421 31A089111E737D51003B6609 /* WebGPURenderPassColorAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088EC1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.cpp */; }; 1422 31A089121E737D51003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088EF1E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.cpp */; }; 1423 31A089131E737D51003B6609 /* WebGPURenderPassDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088F21E737B4D003B6609 /* WebGPURenderPassDescriptor.cpp */; }; 1424 31A089141E737D51003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088F51E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.cpp */; }; 1425 31A089151E737D51003B6609 /* WebGPURenderPipelineDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088F81E737B4D003B6609 /* WebGPURenderPipelineDescriptor.cpp */; }; 1426 31A089161E737D51003B6609 /* WebGPURenderPipelineState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088FB1E737B4D003B6609 /* WebGPURenderPipelineState.cpp */; }; 1427 31A089171E737D51003B6609 /* WebGPUTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088FE1E737B4D003B6609 /* WebGPUTexture.cpp */; }; 1428 31A089181E737D51003B6609 /* WebGPUTextureDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089011E737B4D003B6609 /* WebGPUTextureDescriptor.cpp */; }; 1429 31A089191E737D55003B6609 /* JSWebGPURenderingContextCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088C41E737B2C003B6609 /* JSWebGPURenderingContextCustom.cpp */; }; 1430 31A0891A1E737D55003B6609 /* JSWebGPURenderPassAttachmentDescriptorCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088C51E737B2C003B6609 /* JSWebGPURenderPassAttachmentDescriptorCustom.cpp */; }; 1431 31A089541E738D59003B6609 /* JSWebGPUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0891B1E738D59003B6609 /* JSWebGPUBuffer.cpp */; }; 1432 31A089561E738D59003B6609 /* JSWebGPUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A0891D1E738D59003B6609 /* JSWebGPUBuffer.h */; }; 1433 31A089571E738D59003B6609 /* JSWebGPUCommandBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0891E1E738D59003B6609 /* JSWebGPUCommandBuffer.cpp */; }; 1434 31A089591E738D59003B6609 /* JSWebGPUCommandBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089201E738D59003B6609 /* JSWebGPUCommandBuffer.h */; }; 1435 31A0895A1E738D59003B6609 /* JSWebGPUCommandQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089211E738D59003B6609 /* JSWebGPUCommandQueue.cpp */; }; 1436 31A0895C1E738D59003B6609 /* JSWebGPUCommandQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089231E738D59003B6609 /* JSWebGPUCommandQueue.h */; }; 1437 31A0895D1E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089241E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.cpp */; }; 1438 31A0895F1E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089261E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.h */; }; 1439 31A089601E738D59003B6609 /* JSWebGPUDepthStencilState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089271E738D59003B6609 /* JSWebGPUDepthStencilState.cpp */; }; 1440 31A089621E738D59003B6609 /* JSWebGPUDepthStencilState.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089291E738D59003B6609 /* JSWebGPUDepthStencilState.h */; }; 1441 31A089631E738D59003B6609 /* JSWebGPUDrawable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0892A1E738D59003B6609 /* JSWebGPUDrawable.cpp */; }; 1442 31A089651E738D59003B6609 /* JSWebGPUDrawable.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A0892C1E738D59003B6609 /* JSWebGPUDrawable.h */; }; 1443 31A089661E738D59003B6609 /* JSWebGPUFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0892D1E738D59003B6609 /* JSWebGPUFunction.cpp */; }; 1444 31A089681E738D59003B6609 /* JSWebGPUFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A0892F1E738D59003B6609 /* JSWebGPUFunction.h */; }; 1445 31A089691E738D59003B6609 /* JSWebGPULibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089301E738D59003B6609 /* JSWebGPULibrary.cpp */; }; 1446 31A0896B1E738D59003B6609 /* JSWebGPULibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089321E738D59003B6609 /* JSWebGPULibrary.h */; }; 1447 31A0896C1E738D59003B6609 /* JSWebGPURenderCommandEncoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089331E738D59003B6609 /* JSWebGPURenderCommandEncoder.cpp */; }; 1448 31A0896E1E738D5A003B6609 /* JSWebGPURenderCommandEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089351E738D59003B6609 /* JSWebGPURenderCommandEncoder.h */; }; 1449 31A0896F1E738D5A003B6609 /* JSWebGPURenderingContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089361E738D59003B6609 /* JSWebGPURenderingContext.cpp */; }; 1450 31A089711E738D5A003B6609 /* JSWebGPURenderingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089381E738D59003B6609 /* JSWebGPURenderingContext.h */; }; 1451 31A089721E738D5A003B6609 /* JSWebGPURenderPassAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089391E738D59003B6609 /* JSWebGPURenderPassAttachmentDescriptor.cpp */; }; 1452 31A089741E738D5A003B6609 /* JSWebGPURenderPassAttachmentDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A0893B1E738D59003B6609 /* JSWebGPURenderPassAttachmentDescriptor.h */; }; 1453 31A089751E738D5A003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0893C1E738D59003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.cpp */; }; 1454 31A089771E738D5A003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A0893E1E738D59003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.h */; }; 1455 31A089781E738D5A003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0893F1E738D59003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.cpp */; }; 1456 31A0897A1E738D5A003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089411E738D59003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.h */; }; 1457 31A0897B1E738D5A003B6609 /* JSWebGPURenderPassDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089421E738D59003B6609 /* JSWebGPURenderPassDescriptor.cpp */; }; 1458 31A0897D1E738D5A003B6609 /* JSWebGPURenderPassDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089441E738D59003B6609 /* JSWebGPURenderPassDescriptor.h */; }; 1459 31A0897E1E738D5A003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089451E738D59003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.cpp */; }; 1460 31A089801E738D5A003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089471E738D59003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.h */; }; 1461 31A089811E738D5A003B6609 /* JSWebGPURenderPipelineDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089481E738D59003B6609 /* JSWebGPURenderPipelineDescriptor.cpp */; }; 1462 31A089831E738D5A003B6609 /* JSWebGPURenderPipelineDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A0894A1E738D59003B6609 /* JSWebGPURenderPipelineDescriptor.h */; }; 1463 31A089841E738D5A003B6609 /* JSWebGPURenderPipelineState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0894B1E738D59003B6609 /* JSWebGPURenderPipelineState.cpp */; }; 1464 31A089861E738D5A003B6609 /* JSWebGPURenderPipelineState.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A0894D1E738D59003B6609 /* JSWebGPURenderPipelineState.h */; }; 1465 31A089871E738D5A003B6609 /* JSWebGPUTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0894E1E738D59003B6609 /* JSWebGPUTexture.cpp */; }; 1466 31A089891E738D5A003B6609 /* JSWebGPUTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089501E738D59003B6609 /* JSWebGPUTexture.h */; }; 1467 31A0898A1E738D5A003B6609 /* JSWebGPUTextureDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089511E738D59003B6609 /* JSWebGPUTextureDescriptor.cpp */; }; 1468 31A0898C1E738D5A003B6609 /* JSWebGPUTextureDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089531E738D59003B6609 /* JSWebGPUTextureDescriptor.h */; }; 1408 1469 31A795C61888BADC00382F90 /* JSANGLEInstancedArrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A795C41888BAD100382F90 /* JSANGLEInstancedArrays.cpp */; }; 1409 1470 31A795C71888BCB200382F90 /* ANGLEInstancedArrays.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A795C21888B72400382F90 /* ANGLEInstancedArrays.h */; }; … … 8780 8841 319AE062142D6B24006563A1 /* StyleFilterData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleFilterData.h; sourceTree = "<group>"; }; 8781 8842 319FBD5D15D2F444009640A6 /* CachedImageClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedImageClient.h; sourceTree = "<group>"; }; 8843 31A088C41E737B2C003B6609 /* JSWebGPURenderingContextCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebGPURenderingContextCustom.cpp; sourceTree = "<group>"; }; 8844 31A088C51E737B2C003B6609 /* JSWebGPURenderPassAttachmentDescriptorCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebGPURenderPassAttachmentDescriptorCustom.cpp; sourceTree = "<group>"; }; 8845 31A088C61E737B4D003B6609 /* WebGPUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUBuffer.cpp; sourceTree = "<group>"; }; 8846 31A088C71E737B4D003B6609 /* WebGPUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUBuffer.h; sourceTree = "<group>"; }; 8847 31A088C81E737B4D003B6609 /* WebGPUBuffer.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUBuffer.idl; sourceTree = "<group>"; }; 8848 31A088C91E737B4D003B6609 /* WebGPUCommandBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUCommandBuffer.cpp; sourceTree = "<group>"; }; 8849 31A088CA1E737B4D003B6609 /* WebGPUCommandBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUCommandBuffer.h; sourceTree = "<group>"; }; 8850 31A088CB1E737B4D003B6609 /* WebGPUCommandBuffer.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUCommandBuffer.idl; sourceTree = "<group>"; }; 8851 31A088CC1E737B4D003B6609 /* WebGPUCommandQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUCommandQueue.cpp; sourceTree = "<group>"; }; 8852 31A088CD1E737B4D003B6609 /* WebGPUCommandQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUCommandQueue.h; sourceTree = "<group>"; }; 8853 31A088CE1E737B4D003B6609 /* WebGPUCommandQueue.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUCommandQueue.idl; sourceTree = "<group>"; }; 8854 31A088CF1E737B4D003B6609 /* WebGPUDepthStencilDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUDepthStencilDescriptor.cpp; sourceTree = "<group>"; }; 8855 31A088D01E737B4D003B6609 /* WebGPUDepthStencilDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUDepthStencilDescriptor.h; sourceTree = "<group>"; }; 8856 31A088D11E737B4D003B6609 /* WebGPUDepthStencilDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUDepthStencilDescriptor.idl; sourceTree = "<group>"; }; 8857 31A088D21E737B4D003B6609 /* WebGPUDepthStencilState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUDepthStencilState.cpp; sourceTree = "<group>"; }; 8858 31A088D31E737B4D003B6609 /* WebGPUDepthStencilState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUDepthStencilState.h; sourceTree = "<group>"; }; 8859 31A088D41E737B4D003B6609 /* WebGPUDepthStencilState.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUDepthStencilState.idl; sourceTree = "<group>"; }; 8860 31A088D51E737B4D003B6609 /* WebGPUDrawable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUDrawable.cpp; sourceTree = "<group>"; }; 8861 31A088D61E737B4D003B6609 /* WebGPUDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUDrawable.h; sourceTree = "<group>"; }; 8862 31A088D71E737B4D003B6609 /* WebGPUDrawable.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUDrawable.idl; sourceTree = "<group>"; }; 8863 31A088D81E737B4D003B6609 /* WebGPUEnums.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUEnums.cpp; sourceTree = "<group>"; }; 8864 31A088D91E737B4D003B6609 /* WebGPUEnums.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUEnums.h; sourceTree = "<group>"; }; 8865 31A088DA1E737B4D003B6609 /* WebGPUEnums.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUEnums.idl; sourceTree = "<group>"; }; 8866 31A088DB1E737B4D003B6609 /* WebGPUFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUFunction.cpp; sourceTree = "<group>"; }; 8867 31A088DC1E737B4D003B6609 /* WebGPUFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUFunction.h; sourceTree = "<group>"; }; 8868 31A088DD1E737B4D003B6609 /* WebGPUFunction.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUFunction.idl; sourceTree = "<group>"; }; 8869 31A088DE1E737B4D003B6609 /* WebGPULibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPULibrary.cpp; sourceTree = "<group>"; }; 8870 31A088DF1E737B4D003B6609 /* WebGPULibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPULibrary.h; sourceTree = "<group>"; }; 8871 31A088E01E737B4D003B6609 /* WebGPULibrary.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPULibrary.idl; sourceTree = "<group>"; }; 8872 31A088E11E737B4D003B6609 /* WebGPUObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUObject.cpp; sourceTree = "<group>"; }; 8873 31A088E21E737B4D003B6609 /* WebGPUObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUObject.h; sourceTree = "<group>"; }; 8874 31A088E31E737B4D003B6609 /* WebGPURenderCommandEncoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderCommandEncoder.cpp; sourceTree = "<group>"; }; 8875 31A088E41E737B4D003B6609 /* WebGPURenderCommandEncoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderCommandEncoder.h; sourceTree = "<group>"; }; 8876 31A088E51E737B4D003B6609 /* WebGPURenderCommandEncoder.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderCommandEncoder.idl; sourceTree = "<group>"; }; 8877 31A088E61E737B4D003B6609 /* WebGPURenderingContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderingContext.cpp; sourceTree = "<group>"; }; 8878 31A088E71E737B4D003B6609 /* WebGPURenderingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderingContext.h; sourceTree = "<group>"; }; 8879 31A088E81E737B4D003B6609 /* WebGPURenderingContext.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderingContext.idl; sourceTree = "<group>"; }; 8880 31A088E91E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPassAttachmentDescriptor.cpp; sourceTree = "<group>"; }; 8881 31A088EA1E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPassAttachmentDescriptor.h; sourceTree = "<group>"; }; 8882 31A088EB1E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPassAttachmentDescriptor.idl; sourceTree = "<group>"; }; 8883 31A088EC1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPassColorAttachmentDescriptor.cpp; sourceTree = "<group>"; }; 8884 31A088ED1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPassColorAttachmentDescriptor.h; sourceTree = "<group>"; }; 8885 31A088EE1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPassColorAttachmentDescriptor.idl; sourceTree = "<group>"; }; 8886 31A088EF1E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPassDepthAttachmentDescriptor.cpp; sourceTree = "<group>"; }; 8887 31A088F01E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPassDepthAttachmentDescriptor.h; sourceTree = "<group>"; }; 8888 31A088F11E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPassDepthAttachmentDescriptor.idl; sourceTree = "<group>"; }; 8889 31A088F21E737B4D003B6609 /* WebGPURenderPassDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPassDescriptor.cpp; sourceTree = "<group>"; }; 8890 31A088F31E737B4D003B6609 /* WebGPURenderPassDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPassDescriptor.h; sourceTree = "<group>"; }; 8891 31A088F41E737B4D003B6609 /* WebGPURenderPassDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPassDescriptor.idl; sourceTree = "<group>"; }; 8892 31A088F51E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPipelineColorAttachmentDescriptor.cpp; sourceTree = "<group>"; }; 8893 31A088F61E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPipelineColorAttachmentDescriptor.h; sourceTree = "<group>"; }; 8894 31A088F71E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPipelineColorAttachmentDescriptor.idl; sourceTree = "<group>"; }; 8895 31A088F81E737B4D003B6609 /* WebGPURenderPipelineDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPipelineDescriptor.cpp; sourceTree = "<group>"; }; 8896 31A088F91E737B4D003B6609 /* WebGPURenderPipelineDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPipelineDescriptor.h; sourceTree = "<group>"; }; 8897 31A088FA1E737B4D003B6609 /* WebGPURenderPipelineDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPipelineDescriptor.idl; sourceTree = "<group>"; }; 8898 31A088FB1E737B4D003B6609 /* WebGPURenderPipelineState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPipelineState.cpp; sourceTree = "<group>"; }; 8899 31A088FC1E737B4D003B6609 /* WebGPURenderPipelineState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPipelineState.h; sourceTree = "<group>"; }; 8900 31A088FD1E737B4D003B6609 /* WebGPURenderPipelineState.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPipelineState.idl; sourceTree = "<group>"; }; 8901 31A088FE1E737B4D003B6609 /* WebGPUTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUTexture.cpp; sourceTree = "<group>"; }; 8902 31A088FF1E737B4D003B6609 /* WebGPUTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUTexture.h; sourceTree = "<group>"; }; 8903 31A089001E737B4D003B6609 /* WebGPUTexture.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUTexture.idl; sourceTree = "<group>"; }; 8904 31A089011E737B4D003B6609 /* WebGPUTextureDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUTextureDescriptor.cpp; sourceTree = "<group>"; }; 8905 31A089021E737B4D003B6609 /* WebGPUTextureDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUTextureDescriptor.h; sourceTree = "<group>"; }; 8906 31A089031E737B4D003B6609 /* WebGPUTextureDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUTextureDescriptor.idl; sourceTree = "<group>"; }; 8907 31A0891B1E738D59003B6609 /* JSWebGPUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUBuffer.cpp; path = JSWebGPUBuffer.cpp; sourceTree = "<group>"; }; 8908 31A0891D1E738D59003B6609 /* JSWebGPUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUBuffer.h; path = JSWebGPUBuffer.h; sourceTree = "<group>"; }; 8909 31A0891E1E738D59003B6609 /* JSWebGPUCommandBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUCommandBuffer.cpp; path = JSWebGPUCommandBuffer.cpp; sourceTree = "<group>"; }; 8910 31A089201E738D59003B6609 /* JSWebGPUCommandBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUCommandBuffer.h; path = JSWebGPUCommandBuffer.h; sourceTree = "<group>"; }; 8911 31A089211E738D59003B6609 /* JSWebGPUCommandQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUCommandQueue.cpp; path = JSWebGPUCommandQueue.cpp; sourceTree = "<group>"; }; 8912 31A089231E738D59003B6609 /* JSWebGPUCommandQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUCommandQueue.h; path = JSWebGPUCommandQueue.h; sourceTree = "<group>"; }; 8913 31A089241E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUDepthStencilDescriptor.cpp; path = JSWebGPUDepthStencilDescriptor.cpp; sourceTree = "<group>"; }; 8914 31A089261E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUDepthStencilDescriptor.h; path = JSWebGPUDepthStencilDescriptor.h; sourceTree = "<group>"; }; 8915 31A089271E738D59003B6609 /* JSWebGPUDepthStencilState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUDepthStencilState.cpp; path = JSWebGPUDepthStencilState.cpp; sourceTree = "<group>"; }; 8916 31A089291E738D59003B6609 /* JSWebGPUDepthStencilState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUDepthStencilState.h; path = JSWebGPUDepthStencilState.h; sourceTree = "<group>"; }; 8917 31A0892A1E738D59003B6609 /* JSWebGPUDrawable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUDrawable.cpp; path = JSWebGPUDrawable.cpp; sourceTree = "<group>"; }; 8918 31A0892C1E738D59003B6609 /* JSWebGPUDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUDrawable.h; path = JSWebGPUDrawable.h; sourceTree = "<group>"; }; 8919 31A0892D1E738D59003B6609 /* JSWebGPUFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUFunction.cpp; path = JSWebGPUFunction.cpp; sourceTree = "<group>"; }; 8920 31A0892F1E738D59003B6609 /* JSWebGPUFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUFunction.h; path = JSWebGPUFunction.h; sourceTree = "<group>"; }; 8921 31A089301E738D59003B6609 /* JSWebGPULibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPULibrary.cpp; path = JSWebGPULibrary.cpp; sourceTree = "<group>"; }; 8922 31A089321E738D59003B6609 /* JSWebGPULibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPULibrary.h; path = JSWebGPULibrary.h; sourceTree = "<group>"; }; 8923 31A089331E738D59003B6609 /* JSWebGPURenderCommandEncoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderCommandEncoder.cpp; path = JSWebGPURenderCommandEncoder.cpp; sourceTree = "<group>"; }; 8924 31A089351E738D59003B6609 /* JSWebGPURenderCommandEncoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderCommandEncoder.h; path = JSWebGPURenderCommandEncoder.h; sourceTree = "<group>"; }; 8925 31A089361E738D59003B6609 /* JSWebGPURenderingContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderingContext.cpp; path = JSWebGPURenderingContext.cpp; sourceTree = "<group>"; }; 8926 31A089381E738D59003B6609 /* JSWebGPURenderingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderingContext.h; path = JSWebGPURenderingContext.h; sourceTree = "<group>"; }; 8927 31A089391E738D59003B6609 /* JSWebGPURenderPassAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPassAttachmentDescriptor.cpp; path = JSWebGPURenderPassAttachmentDescriptor.cpp; sourceTree = "<group>"; }; 8928 31A0893B1E738D59003B6609 /* JSWebGPURenderPassAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPassAttachmentDescriptor.h; path = JSWebGPURenderPassAttachmentDescriptor.h; sourceTree = "<group>"; }; 8929 31A0893C1E738D59003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPassColorAttachmentDescriptor.cpp; path = JSWebGPURenderPassColorAttachmentDescriptor.cpp; sourceTree = "<group>"; }; 8930 31A0893E1E738D59003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPassColorAttachmentDescriptor.h; path = JSWebGPURenderPassColorAttachmentDescriptor.h; sourceTree = "<group>"; }; 8931 31A0893F1E738D59003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPassDepthAttachmentDescriptor.cpp; path = JSWebGPURenderPassDepthAttachmentDescriptor.cpp; sourceTree = "<group>"; }; 8932 31A089411E738D59003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPassDepthAttachmentDescriptor.h; path = JSWebGPURenderPassDepthAttachmentDescriptor.h; sourceTree = "<group>"; }; 8933 31A089421E738D59003B6609 /* JSWebGPURenderPassDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPassDescriptor.cpp; path = JSWebGPURenderPassDescriptor.cpp; sourceTree = "<group>"; }; 8934 31A089441E738D59003B6609 /* JSWebGPURenderPassDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPassDescriptor.h; path = JSWebGPURenderPassDescriptor.h; sourceTree = "<group>"; }; 8935 31A089451E738D59003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPipelineColorAttachmentDescriptor.cpp; path = JSWebGPURenderPipelineColorAttachmentDescriptor.cpp; sourceTree = "<group>"; }; 8936 31A089471E738D59003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPipelineColorAttachmentDescriptor.h; path = JSWebGPURenderPipelineColorAttachmentDescriptor.h; sourceTree = "<group>"; }; 8937 31A089481E738D59003B6609 /* JSWebGPURenderPipelineDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPipelineDescriptor.cpp; path = JSWebGPURenderPipelineDescriptor.cpp; sourceTree = "<group>"; }; 8938 31A0894A1E738D59003B6609 /* JSWebGPURenderPipelineDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPipelineDescriptor.h; path = JSWebGPURenderPipelineDescriptor.h; sourceTree = "<group>"; }; 8939 31A0894B1E738D59003B6609 /* JSWebGPURenderPipelineState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPipelineState.cpp; path = JSWebGPURenderPipelineState.cpp; sourceTree = "<group>"; }; 8940 31A0894D1E738D59003B6609 /* JSWebGPURenderPipelineState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPipelineState.h; path = JSWebGPURenderPipelineState.h; sourceTree = "<group>"; }; 8941 31A0894E1E738D59003B6609 /* JSWebGPUTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUTexture.cpp; path = JSWebGPUTexture.cpp; sourceTree = "<group>"; }; 8942 31A089501E738D59003B6609 /* JSWebGPUTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUTexture.h; path = JSWebGPUTexture.h; sourceTree = "<group>"; }; 8943 31A089511E738D59003B6609 /* JSWebGPUTextureDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUTextureDescriptor.cpp; path = JSWebGPUTextureDescriptor.cpp; sourceTree = "<group>"; }; 8944 31A089531E738D59003B6609 /* JSWebGPUTextureDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUTextureDescriptor.h; path = JSWebGPUTextureDescriptor.h; sourceTree = "<group>"; }; 8782 8945 31A795C11888B72400382F90 /* ANGLEInstancedArrays.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ANGLEInstancedArrays.cpp; sourceTree = "<group>"; }; 8783 8946 31A795C21888B72400382F90 /* ANGLEInstancedArrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ANGLEInstancedArrays.h; sourceTree = "<group>"; }; … … 17548 17711 77A17A7512F28642004E02F6 /* WebGLVertexArrayObjectOES.h */, 17549 17712 77A17A7612F28642004E02F6 /* WebGLVertexArrayObjectOES.idl */, 17713 31A088C61E737B4D003B6609 /* WebGPUBuffer.cpp */, 17714 31A088C71E737B4D003B6609 /* WebGPUBuffer.h */, 17715 31A088C81E737B4D003B6609 /* WebGPUBuffer.idl */, 17716 31A088C91E737B4D003B6609 /* WebGPUCommandBuffer.cpp */, 17717 31A088CA1E737B4D003B6609 /* WebGPUCommandBuffer.h */, 17718 31A088CB1E737B4D003B6609 /* WebGPUCommandBuffer.idl */, 17719 31A088CC1E737B4D003B6609 /* WebGPUCommandQueue.cpp */, 17720 31A088CD1E737B4D003B6609 /* WebGPUCommandQueue.h */, 17721 31A088CE1E737B4D003B6609 /* WebGPUCommandQueue.idl */, 17722 31A088CF1E737B4D003B6609 /* WebGPUDepthStencilDescriptor.cpp */, 17723 31A088D01E737B4D003B6609 /* WebGPUDepthStencilDescriptor.h */, 17724 31A088D11E737B4D003B6609 /* WebGPUDepthStencilDescriptor.idl */, 17725 31A088D21E737B4D003B6609 /* WebGPUDepthStencilState.cpp */, 17726 31A088D31E737B4D003B6609 /* WebGPUDepthStencilState.h */, 17727 31A088D41E737B4D003B6609 /* WebGPUDepthStencilState.idl */, 17728 31A088D51E737B4D003B6609 /* WebGPUDrawable.cpp */, 17729 31A088D61E737B4D003B6609 /* WebGPUDrawable.h */, 17730 31A088D71E737B4D003B6609 /* WebGPUDrawable.idl */, 17731 31A088D81E737B4D003B6609 /* WebGPUEnums.cpp */, 17732 31A088D91E737B4D003B6609 /* WebGPUEnums.h */, 17733 31A088DA1E737B4D003B6609 /* WebGPUEnums.idl */, 17734 31A088DB1E737B4D003B6609 /* WebGPUFunction.cpp */, 17735 31A088DC1E737B4D003B6609 /* WebGPUFunction.h */, 17736 31A088DD1E737B4D003B6609 /* WebGPUFunction.idl */, 17737 31A088DE1E737B4D003B6609 /* WebGPULibrary.cpp */, 17738 31A088DF1E737B4D003B6609 /* WebGPULibrary.h */, 17739 31A088E01E737B4D003B6609 /* WebGPULibrary.idl */, 17740 31A088E11E737B4D003B6609 /* WebGPUObject.cpp */, 17741 31A088E21E737B4D003B6609 /* WebGPUObject.h */, 17742 31A088E31E737B4D003B6609 /* WebGPURenderCommandEncoder.cpp */, 17743 31A088E41E737B4D003B6609 /* WebGPURenderCommandEncoder.h */, 17744 31A088E51E737B4D003B6609 /* WebGPURenderCommandEncoder.idl */, 17745 31A088E61E737B4D003B6609 /* WebGPURenderingContext.cpp */, 17746 31A088E71E737B4D003B6609 /* WebGPURenderingContext.h */, 17747 31A088E81E737B4D003B6609 /* WebGPURenderingContext.idl */, 17748 31A088E91E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.cpp */, 17749 31A088EA1E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.h */, 17750 31A088EB1E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.idl */, 17751 31A088EC1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.cpp */, 17752 31A088ED1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.h */, 17753 31A088EE1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.idl */, 17754 31A088EF1E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.cpp */, 17755 31A088F01E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.h */, 17756 31A088F11E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.idl */, 17757 31A088F21E737B4D003B6609 /* WebGPURenderPassDescriptor.cpp */, 17758 31A088F31E737B4D003B6609 /* WebGPURenderPassDescriptor.h */, 17759 31A088F41E737B4D003B6609 /* WebGPURenderPassDescriptor.idl */, 17760 31A088F51E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.cpp */, 17761 31A088F61E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.h */, 17762 31A088F71E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.idl */, 17763 31A088F81E737B4D003B6609 /* WebGPURenderPipelineDescriptor.cpp */, 17764 31A088F91E737B4D003B6609 /* WebGPURenderPipelineDescriptor.h */, 17765 31A088FA1E737B4D003B6609 /* WebGPURenderPipelineDescriptor.idl */, 17766 31A088FB1E737B4D003B6609 /* WebGPURenderPipelineState.cpp */, 17767 31A088FC1E737B4D003B6609 /* WebGPURenderPipelineState.h */, 17768 31A088FD1E737B4D003B6609 /* WebGPURenderPipelineState.idl */, 17769 31A088FE1E737B4D003B6609 /* WebGPUTexture.cpp */, 17770 31A088FF1E737B4D003B6609 /* WebGPUTexture.h */, 17771 31A089001E737B4D003B6609 /* WebGPUTexture.idl */, 17772 31A089011E737B4D003B6609 /* WebGPUTextureDescriptor.cpp */, 17773 31A089021E737B4D003B6609 /* WebGPUTextureDescriptor.h */, 17774 31A089031E737B4D003B6609 /* WebGPUTextureDescriptor.idl */, 17550 17775 ); 17551 17776 path = canvas; … … 20888 21113 77EF62F112F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.cpp */, 20889 21114 77EF62F212F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.h */, 21115 31A0891B1E738D59003B6609 /* JSWebGPUBuffer.cpp */, 21116 31A0891D1E738D59003B6609 /* JSWebGPUBuffer.h */, 21117 31A0891E1E738D59003B6609 /* JSWebGPUCommandBuffer.cpp */, 21118 31A089201E738D59003B6609 /* JSWebGPUCommandBuffer.h */, 21119 31A089211E738D59003B6609 /* JSWebGPUCommandQueue.cpp */, 21120 31A089231E738D59003B6609 /* JSWebGPUCommandQueue.h */, 21121 31A089241E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.cpp */, 21122 31A089261E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.h */, 21123 31A089271E738D59003B6609 /* JSWebGPUDepthStencilState.cpp */, 21124 31A089291E738D59003B6609 /* JSWebGPUDepthStencilState.h */, 21125 31A0892A1E738D59003B6609 /* JSWebGPUDrawable.cpp */, 21126 31A0892C1E738D59003B6609 /* JSWebGPUDrawable.h */, 21127 31A0892D1E738D59003B6609 /* JSWebGPUFunction.cpp */, 21128 31A0892F1E738D59003B6609 /* JSWebGPUFunction.h */, 21129 31A089301E738D59003B6609 /* JSWebGPULibrary.cpp */, 21130 31A089321E738D59003B6609 /* JSWebGPULibrary.h */, 21131 31A089331E738D59003B6609 /* JSWebGPURenderCommandEncoder.cpp */, 21132 31A089351E738D59003B6609 /* JSWebGPURenderCommandEncoder.h */, 21133 31A089361E738D59003B6609 /* JSWebGPURenderingContext.cpp */, 21134 31A089381E738D59003B6609 /* JSWebGPURenderingContext.h */, 21135 31A089391E738D59003B6609 /* JSWebGPURenderPassAttachmentDescriptor.cpp */, 21136 31A0893B1E738D59003B6609 /* JSWebGPURenderPassAttachmentDescriptor.h */, 21137 31A0893C1E738D59003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.cpp */, 21138 31A0893E1E738D59003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.h */, 21139 31A0893F1E738D59003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.cpp */, 21140 31A089411E738D59003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.h */, 21141 31A089421E738D59003B6609 /* JSWebGPURenderPassDescriptor.cpp */, 21142 31A089441E738D59003B6609 /* JSWebGPURenderPassDescriptor.h */, 21143 31A089451E738D59003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.cpp */, 21144 31A089471E738D59003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.h */, 21145 31A089481E738D59003B6609 /* JSWebGPURenderPipelineDescriptor.cpp */, 21146 31A0894A1E738D59003B6609 /* JSWebGPURenderPipelineDescriptor.h */, 21147 31A0894B1E738D59003B6609 /* JSWebGPURenderPipelineState.cpp */, 21148 31A0894D1E738D59003B6609 /* JSWebGPURenderPipelineState.h */, 21149 31A0894E1E738D59003B6609 /* JSWebGPUTexture.cpp */, 21150 31A089501E738D59003B6609 /* JSWebGPUTexture.h */, 21151 31A089511E738D59003B6609 /* JSWebGPUTextureDescriptor.cpp */, 21152 31A089531E738D59003B6609 /* JSWebGPUTextureDescriptor.h */, 20890 21153 0FDA7C241883333200C954B5 /* JSWebKitPlaybackTargetAvailabilityEvent.cpp */, 20891 21154 0FDA7C251883333200C954B5 /* JSWebKitPlaybackTargetAvailabilityEvent.h */, … … 22854 23117 BCE1C43F0D9830F4003B02F2 /* JSLocationCustom.cpp */, 22855 23118 2D9BF7481DBFDDF8007A7D99 /* JSMediaKeySessionCustom.cpp */, 23119 415CDAF61E6CE0D3004F11EE /* JSMediaStreamTrackCustom.cpp */, 22856 23120 410B7E711045FAB000D8224F /* JSMessageEventCustom.cpp */, 22857 415CDAF61E6CE0D3004F11EE /* JSMediaStreamTrackCustom.cpp */,22858 23121 A1E5B31D1AAD1DA4006EBEFB /* JSMockContentFilterSettingsCustom.cpp */, 22859 23122 C6F0917E143A2BB900685849 /* JSMutationObserverCustom.cpp */, … … 22869 23132 BE6DF708171CA2C500DD52B8 /* JSVideoTrackCustom.cpp */, 22870 23133 D3F3D35A1A69A3B00059FC2B /* JSWebGLRenderingContextBaseCustom.cpp */, 23134 31A088C41E737B2C003B6609 /* JSWebGPURenderingContextCustom.cpp */, 23135 31A088C51E737B2C003B6609 /* JSWebGPURenderPassAttachmentDescriptorCustom.cpp */, 22871 23136 E1FF8F661807460800132674 /* JSWebKitSubtleCryptoCustom.cpp */, 22872 23137 E1CA5CBB0E8CDCAF00E8EF90 /* JSWorkerCustom.cpp */, … … 25678 25943 1A8A64521D19FCFB00D0E00F /* ApplePayPaymentAuthorizedEvent.h in Headers */, 25679 25944 7C6522FB1E00C90900677F22 /* ApplePayPaymentContact.h in Headers */, 25945 31A089561E738D59003B6609 /* JSWebGPUBuffer.h in Headers */, 25680 25946 7C6522EF1E00A4C700677F22 /* ApplePayPaymentMethod.h in Headers */, 25681 25947 1A8A64561D19FCFC00D0E00F /* ApplePayPaymentMethodSelectedEvent.h in Headers */, … … 25707 25973 FD629EA3154B47160006D026 /* AudioBasicInspectorNode.h in Headers */, 25708 25974 FD315FF712B0267600C1A359 /* AudioBasicProcessorNode.h in Headers */, 25975 31A089891E738D5A003B6609 /* JSWebGPUTexture.h in Headers */, 25709 25976 FD315FF912B0267600C1A359 /* AudioBuffer.h in Headers */, 25710 25977 FD5686CC13AC181400B69C68 /* AudioBufferCallback.h in Headers */, … … 25832 26099 1A569CFE0D7E2B82007C3983 /* c_utility.h in Headers */, 25833 26100 07C046C41E42508B007201E7 /* CAAudioStreamDescription.h in Headers */, 26101 31A089651E738D59003B6609 /* JSWebGPUDrawable.h in Headers */, 25834 26102 BCB16C1A0979C3BD00467741 /* CachedCSSStyleSheet.h in Headers */, 25835 26103 BC64B4CC0CB4295D005F2B62 /* CachedFont.h in Headers */, … … 25941 26209 FD31608F12B026F700C1A359 /* Cone.h in Headers */, 25942 26210 65C97AF308EA908800ACD273 /* config.h in Headers */, 26211 31A0896E1E738D5A003B6609 /* JSWebGPURenderCommandEncoder.h in Headers */, 25943 26212 A818721C0977D3C0005826D9 /* ContainerNode.h in Headers */, 25944 26213 E1A1470811102B1500EEC0F3 /* ContainerNodeAlgorithms.h in Headers */, … … 26143 26412 A80E6CEE0A1989CA007FB8C5 /* CSSValue.h in Headers */, 26144 26413 6565815109D13043000E61D7 /* CSSValueKeywords.h in Headers */, 26414 31A089591E738D59003B6609 /* JSWebGPUCommandBuffer.h in Headers */, 26145 26415 A80E6CE90A1989CA007FB8C5 /* CSSValueList.h in Headers */, 26146 26416 E49BD9FA131FD2ED003C56F0 /* CSSValuePool.h in Headers */, … … 26168 26438 97BC6A321505F081001B74AC /* DatabaseTracker.h in Headers */, 26169 26439 BE23480D18A9871400E4B6E8 /* DataCue.h in Headers */, 26440 31A0895C1E738D59003B6609 /* JSWebGPUCommandQueue.h in Headers */, 26170 26441 C5227DF11C3C6DF100F5ED54 /* DataDetection.h in Headers */, 26171 26442 7C7941E51C56C29300A4C58E /* DataDetectorsCoreSoftLink.h in Headers */, … … 26174 26445 2DC4CF791D2DD98900ECCC94 /* DataDetectorsUISPI.h in Headers */, 26175 26446 BC22746F0E83664500E7F975 /* DataRef.h in Headers */, 26447 31A0896B1E738D59003B6609 /* JSWebGPULibrary.h in Headers */, 26176 26448 BC64641C11D7F416006455B0 /* DatasetDOMStringMap.h in Headers */, 26177 26449 85031B3E0A44EFC700F992E0 /* DataTransfer.h in Headers */, … … 26513 26785 9746AF2414F4DDE6003E7A70 /* Geolocation.h in Headers */, 26514 26786 9746AF2514F4DDE6003E7A71 /* GeolocationClient.h in Headers */, 26787 31A089741E738D5A003B6609 /* JSWebGPURenderPassAttachmentDescriptor.h in Headers */, 26515 26788 9746AF2714F4DDE6003E7A70 /* GeolocationController.h in Headers */, 26516 26789 9746AF2814F4DDE6003E7A70 /* GeolocationError.h in Headers */, … … 26969 27242 59A86008119DAFA100DEF1EF /* JSDeviceOrientationEvent.h in Headers */, 26970 27243 659DDC8309E198BA001BF3C6 /* JSDocument.h in Headers */, 27244 31A0897D1E738D5A003B6609 /* JSWebGPURenderPassDescriptor.h in Headers */, 26971 27245 1221E05E1C02B444006A1A00 /* JSDocumentAnimation.h in Headers */, 26972 27246 ADDA94C219687AA500453029 /* JSDocumentCustom.h in Headers */, … … 26994 27268 7C8E34BA1E4A33B00054CE23 /* JSDOMConvertNull.h in Headers */, 26995 27269 7C8E34BB1E4A33B00054CE23 /* JSDOMConvertNullable.h in Headers */, 27270 31A089801E738D5A003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.h in Headers */, 26996 27271 7C8E34BD1E4A33B00054CE23 /* JSDOMConvertNumbers.h in Headers */, 26997 27272 7C8E34BE1E4A33B00054CE23 /* JSDOMConvertObject.h in Headers */, … … 27408 27683 B2FA3D9F0AB75A6F000E5AC4 /* JSSVGImageElement.h in Headers */, 27409 27684 B2FA3DA10AB75A6F000E5AC4 /* JSSVGLength.h in Headers */, 27685 31A089621E738D59003B6609 /* JSWebGPUDepthStencilState.h in Headers */, 27410 27686 B2FA3DA30AB75A6F000E5AC4 /* JSSVGLengthList.h in Headers */, 27411 27687 B2FA3DA50AB75A6F000E5AC4 /* JSSVGLinearGradientElement.h in Headers */, … … 27496 27772 15C77093100D3CA8005BA267 /* JSValidityState.h in Headers */, 27497 27773 BE8EF04B171C9014009B48C3 /* JSVideoTrack.h in Headers */, 27774 31A0898C1E738D5A003B6609 /* JSWebGPUTextureDescriptor.h in Headers */, 27498 27775 BE8EF04D171C9014009B48C3 /* JSVideoTrackList.h in Headers */, 27499 27776 BE20508218A460C30080647E /* JSVTTCue.h in Headers */, … … 27598 27875 BCFF64910EAD15C200C1D6F7 /* LengthBox.h in Headers */, 27599 27876 E5BA7D63151437CA00FE1E3F /* LengthFunctions.h in Headers */, 27877 31A089771E738D5A003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.h in Headers */, 27600 27878 0F8716701C869D83004FF0DE /* LengthPoint.h in Headers */, 27601 27879 BCFF64920EAD15C200C1D6F7 /* LengthSize.h in Headers */, … … 27779 28057 37DDCDA71384501C0008B793 /* MHTMLParser.h in Headers */, 27780 28058 53B895AF19DC7ED9009CAA93 /* Microtasks.h in Headers */, 28059 31A089681E738D59003B6609 /* JSWebGPUFunction.h in Headers */, 27781 28060 37DDCD9513844FD50008B793 /* MIMEHeader.h in Headers */, 27782 28061 BC772C4F0C4EB3040083285F /* MIMETypeRegistry.h in Headers */, … … 27991 28270 83FE90271E307C30003E9199 /* PerformanceMonitor.h in Headers */, 27992 28271 8AF4E55611DC5A36000ED3DE /* PerformanceNavigation.h in Headers */, 28272 31A0897A1E738D5A003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.h in Headers */, 27993 28273 A5A9933D1E37FB19005B5E4D /* PerformanceObserver.h in Headers */, 27994 28274 A5A9933F1E37FB1F005B5E4D /* PerformanceObserverCallback.h in Headers */, … … 28419 28699 93C4A4151629DF5A00C3EB6E /* ScrollingTreeFrameScrollingNodeMac.h in Headers */, 28420 28700 0FC4E410187F82E10045882C /* ScrollingTreeIOS.h in Headers */, 28701 31A089861E738D5A003B6609 /* JSWebGPURenderPipelineState.h in Headers */, 28421 28702 0FE5806419327A6200DE32EB /* ScrollingTreeMac.h in Headers */, 28422 28703 1AAADDE414DC8C8F00AF64B3 /* ScrollingTreeNode.h in Headers */, … … 28563 28844 C50D0E830FF4272900AC2644 /* StorageNamespace.h in Headers */, 28564 28845 1A37636C1A2E68BB009A7EE2 /* StorageNamespaceProvider.h in Headers */, 28846 31A089831E738D5A003B6609 /* JSWebGPURenderPipelineDescriptor.h in Headers */, 28565 28847 416E6FE81BBD12DF000A6033 /* StreamInternalsBuiltins.h in Headers */, 28566 28848 81AC6C36131C57D30009A7E0 /* StringCallback.h in Headers */, … … 28781 29063 B2227A620D00BF220071B782 /* SVGPathSegClosePath.h in Headers */, 28782 29064 B2227A650D00BF220071B782 /* SVGPathSegCurvetoCubic.h in Headers */, 29065 31A089711E738D5A003B6609 /* JSWebGPURenderingContext.h in Headers */, 28783 29066 83C1D427178D5AB400141E68 /* SVGPathSegCurvetoCubicAbs.h in Headers */, 28784 29067 83C1D428178D5AB400141E68 /* SVGPathSegCurvetoCubicRel.h in Headers */, … … 29128 29411 D3F3D36E1A69B7E00059FC2B /* WebGL2RenderingContext.h in Headers */, 29129 29412 A7D20F6D107F438B00A80392 /* WebGLActiveInfo.h in Headers */, 29413 31A0895F1E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.h in Headers */, 29130 29414 6E47E66110B7944B00B186C8 /* WebGLAny.h in Headers */, 29131 29415 1AFFC4581D5E865500267A66 /* WebGLBlacklist.h in Headers */, … … 29679 29963 37F57ABC1A50727700876F98 /* AccessibilityImageMapLink.cpp in Sources */, 29680 29964 F52A8FD71D0A8D0E0073CF42 /* AccessibilityLabel.cpp in Sources */, 29965 31A089141E737D51003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.cpp in Sources */, 29681 29966 37F57ABD1A50727A00876F98 /* AccessibilityList.cpp in Sources */, 29682 29967 37F57ABE1A50727E00876F98 /* AccessibilityListBox.cpp in Sources */, … … 29806 30091 29A8124B0FBB9CA900510293 /* AXObjectCacheMac.mm in Sources */, 29807 30092 BCA8C81F11E3D36900812FB7 /* BackForwardController.cpp in Sources */, 30093 31A089161E737D51003B6609 /* WebGPURenderPipelineState.cpp in Sources */, 29808 30094 BC124EE70C2641CD009E2349 /* BarProp.cpp in Sources */, 29809 30095 460BB6151D0A1BF000221812 /* Base64Utilities.cpp in Sources */, … … 29867 30153 0753860214489E9800B78452 /* CachedTextTrack.cpp in Sources */, 29868 30154 BCB16C270979C3BD00467741 /* CachedXSLStyleSheet.cpp in Sources */, 30155 31A0896C1E738D59003B6609 /* JSWebGPURenderCommandEncoder.cpp in Sources */, 29869 30156 E43AF8E61AC5B7E800CA717E /* CacheValidation.cpp in Sources */, 29870 30157 49AE2D96134EE5F90072920A /* CalculationValue.cpp in Sources */, … … 29888 30175 CDE5959D1BF2757100A1CBE8 /* CDMSessionMediaSourceAVFObjC.mm in Sources */, 29889 30176 5F2DBBE9178E3C8100141486 /* CertificateInfoMac.mm in Sources */, 30177 31A089751E738D5A003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.cpp in Sources */, 29890 30178 E1A8E56617552B2A007488E7 /* CFURLExtras.cpp in Sources */, 29891 30179 97BC69DC1505F076001B74AC /* ChangeVersionWrapper.cpp in Sources */, … … 29919 30207 6550B6A1099DF0270090D781 /* Comment.cpp in Sources */, 29920 30208 E1FE137418402A6700892F13 /* CommonCryptoUtilities.cpp in Sources */, 30209 31A0890C1E737D51003B6609 /* WebGPULibrary.cpp in Sources */, 29921 30210 0F60F32C1DFBB10B00416D6C /* CommonVM.cpp in Sources */, 29922 30211 7C93F3491AA6BA5E00A98BAB /* CompiledContentExtension.cpp in Sources */, … … 29958 30247 FD31602812B0267600C1A359 /* ConvolverNode.cpp in Sources */, 29959 30248 E1424C93164B52C800F32D40 /* CookieJar.cpp in Sources */, 30249 31A0890A1E737D51003B6609 /* WebGPUEnums.cpp in Sources */, 29960 30250 7EE6846212D26E3800E79415 /* CookieJarCFNet.cpp in Sources */, 29961 30251 E1424C90164B460B00F32D40 /* CookieJarMac.mm in Sources */, … … 30225 30515 76FC2B0B12370DA0006A991A /* DOMTokenList.cpp in Sources */, 30226 30516 2E37DFDA12DBAFB800A6B233 /* DOMURL.cpp in Sources */, 30517 31A089191E737D55003B6609 /* JSWebGPURenderingContextCustom.cpp in Sources */, 30227 30518 CD9DE18117AAD6A400EA386D /* DOMURLMediaSource.cpp in Sources */, 30228 30519 15FCC9FC1B4DF7F200E72326 /* DOMURLMediaStream.cpp in Sources */, … … 30341 30632 31313F651443B35F006E2A90 /* FilterEffectRenderer.cpp in Sources */, 30342 30633 49ECEB6D1499790D00CDD3A4 /* FilterOperation.cpp in Sources */, 30634 31A0890D1E737D51003B6609 /* WebGPUObject.cpp in Sources */, 30343 30635 49ECEB6F1499790D00CDD3A4 /* FilterOperations.cpp in Sources */, 30344 30636 A8CFF04D0A154F09000A4234 /* FixedTableLayout.cpp in Sources */, … … 30416 30708 4FB390AD15EF61F3007AD51F /* GeneratedImage.cpp in Sources */, 30417 30709 830030F51B7D33B500ED3AAC /* GenericCachedHTMLCollection.cpp in Sources */, 30710 31A089091E737D51003B6609 /* WebGPUDrawable.cpp in Sources */, 30418 30711 0720B0A014D3323500642955 /* GenericEventQueue.cpp in Sources */, 30419 30712 CD4BE52A1CE136EF009D87DA /* GenericTaskQueue.cpp in Sources */, … … 30536 30829 977B3870122883E900B81FF8 /* HTMLParserScheduler.cpp in Sources */, 30537 30830 BCC0E8751BFE70E9008F7F50 /* HTMLPictureElement.cpp in Sources */, 30831 31A089781E738D5A003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.cpp in Sources */, 30538 30832 A871D4570A127CBC00B12A68 /* HTMLPlugInElement.cpp in Sources */, 30833 31A089101E737D51003B6609 /* WebGPURenderPassAttachmentDescriptor.cpp in Sources */, 30539 30834 4415292F0E1AE8A000C4A2D0 /* HTMLPlugInImageElement.cpp in Sources */, 30540 30835 A8EA7CAD0A192B9C00A8EF5F /* HTMLPreElement.cpp in Sources */, … … 30687 30982 1C81B95B0E97330800266E07 /* InspectorController.cpp in Sources */, 30688 30983 82AB1743124B99EC00C5069D /* InspectorCSSAgent.cpp in Sources */, 30984 31A089171E737D51003B6609 /* WebGPUTexture.cpp in Sources */, 30689 30985 4A9CC82016BF9BB400EC645A /* InspectorCSSOMWrappers.cpp in Sources */, 30690 30986 7AB0B1C01211A62200A76940 /* InspectorDatabaseAgent.cpp in Sources */, … … 30735 31031 1221E06C1C03D224006A1A00 /* JSAnimationTimeline.cpp in Sources */, 30736 31032 57B5F7E21E57DBC800F34F90 /* JSSiteBoundCredentialData.cpp in Sources */, 31033 31A089871E738D5A003B6609 /* JSWebGPUTexture.cpp in Sources */, 30737 31034 1221E0731C03E4C2006A1A00 /* JSAnimationTimelineCustom.cpp in Sources */, 30738 31035 7C6579EF1E00856600E3A27A /* JSApplePayLineItem.cpp in Sources */, … … 30993 31290 576814441E70CB1B00E77754 /* JSAesKeyParams.cpp in Sources */, 30994 31291 1AE2AB230A1CE63B00B42B25 /* JSHTMLLegendElement.cpp in Sources */, 31292 31A089181E737D51003B6609 /* WebGPUTextureDescriptor.cpp in Sources */, 30995 31293 1AE2AB250A1CE63B00B42B25 /* JSHTMLLIElement.cpp in Sources */, 30996 31294 A80E7B100A19D606007FB8C5 /* JSHTMLLinkElement.cpp in Sources */, … … 31020 31318 BC17F9660B64EBB8004A65CB /* JSHTMLSelectElementCustom.cpp in Sources */, 31021 31319 9B69D3B81B99100700E3512B /* JSHTMLSlotElement.cpp in Sources */, 31320 31A089131E737D51003B6609 /* WebGPURenderPassDescriptor.cpp in Sources */, 31022 31321 E446143B0CD689CC00FADA75 /* JSHTMLSourceElement.cpp in Sources */, 31023 31322 9752D38D1413104B003305BD /* JSHTMLSpanElement.cpp in Sources */, … … 31186 31485 5768E4361DB7527400D0A4F7 /* JSRsaHashedKeyGenParams.cpp in Sources */, 31187 31486 57FEDD431DB6D76000EB96F5 /* JSRsaKeyGenParams.cpp in Sources */, 31487 31A089061E737D51003B6609 /* WebGPUCommandQueue.cpp in Sources */, 31188 31488 5706A69A1DDE5E8500A03B14 /* JSRsaOaepParams.cpp in Sources */, 31189 31489 57E233611DC7D6AA00F28D01 /* JSRsaOtherPrimesInfo.cpp in Sources */, … … 31399 31699 070334E9145A1F36008D8D45 /* JSTrackCustom.cpp in Sources */, 31400 31700 07846342145B151A00A58DF1 /* JSTrackEvent.cpp in Sources */, 31701 31A0895A1E738D59003B6609 /* JSWebGPUCommandQueue.cpp in Sources */, 31401 31702 E17B492216A9B8FF001C8839 /* JSTransitionEvent.cpp in Sources */, 31402 31703 1A750D5C0A90DEE1000FF215 /* JSTreeWalker.cpp in Sources */, … … 31404 31705 A86629D009DA2B48009633A5 /* JSUIEvent.cpp in Sources */, 31405 31706 465307D11DB6EE4A00E4137C /* JSUIEventInit.cpp in Sources */, 31707 31A089691E738D59003B6609 /* JSWebGPULibrary.cpp in Sources */, 31406 31708 5C5381B51D87E08700E2EBE6 /* JSURLSearchParams.cpp in Sources */, 31407 31709 7C73FB11191EF6F4007DE061 /* JSUserMessageHandler.cpp in Sources */, … … 31420 31722 FD82D7F713D4C8BD004E4372 /* JSWaveShaperNode.cpp in Sources */, 31421 31723 120DE3F91C87C5AB00B6D4DD /* JSWebAnimation.cpp in Sources */, 31724 31A089081E737D51003B6609 /* WebGPUDepthStencilState.cpp in Sources */, 31422 31725 D3F3D3631A69B1900059FC2B /* JSWebGL2RenderingContext.cpp in Sources */, 31423 31726 D3F3D36C1A69B7D50059FC2B /* JSWebGL2RenderingContextCustom.cpp in Sources */, … … 31442 31745 D3F3D36B1A69B7C50059FC2B /* JSWebGLRenderingContextBaseCustom.cpp in Sources */, 31443 31746 49EED14F1051971A00099FAB /* JSWebGLRenderingContextCustom.cpp in Sources */, 31747 31A0898A1E738D5A003B6609 /* JSWebGPUTextureDescriptor.cpp in Sources */, 31444 31748 6F995A331A70833700A735F4 /* JSWebGLSampler.cpp in Sources */, 31445 31749 49C7B9A21042D2D30009D447 /* JSWebGLShader.cpp in Sources */, … … 31510 31814 2917B566147349950052C9D0 /* LayerFlushSchedulerMac.cpp in Sources */, 31511 31815 7AA3A69F194B59B6001CBD24 /* LayerPool.cpp in Sources */, 31816 31A089601E738D59003B6609 /* JSWebGPUDepthStencilState.cpp in Sources */, 31512 31817 0F36E7371BD1837A002DB891 /* LayoutPoint.cpp in Sources */, 31513 31818 141DC052164834B900371E5A /* LayoutRect.cpp in Sources */, … … 31644 31949 C90843CF1B18E47D00B68564 /* MediaRemoteControls.cpp in Sources */, 31645 31950 CD8ACA8E1D23971900ECC59E /* MediaRemoteSoftLink.cpp in Sources */, 31951 31A089721E738D5A003B6609 /* JSWebGPURenderPassAttachmentDescriptor.cpp in Sources */, 31646 31952 CEEFCD7919DB31F7003876D7 /* MediaResourceLoader.cpp in Sources */, 31647 31953 1B124D8F1D380BB600ECDFB0 /* MediaSampleAVFObjC.mm in Sources */, … … 31649 31955 C9027F411B1D0AD200BFBFEF /* MediaSession.cpp in Sources */, 31650 31956 C96F5EC71B5872260091EA9D /* MediaSessionInterruptionProvider.cpp in Sources */, 31957 31A0895D1E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.cpp in Sources */, 31651 31958 C96F5EC61B5872260091EA9D /* MediaSessionInterruptionProviderMac.mm in Sources */, 31652 31959 57B5F80F1E5E2A4B00F34F90 /* JSAesGcmParams.cpp in Sources */, … … 31787 32094 CD5E5B611A15F156000C609E /* PageConfiguration.cpp in Sources */, 31788 32095 F3820892147D35F90010BC06 /* PageConsoleAgent.cpp in Sources */, 32096 31A089111E737D51003B6609 /* WebGPURenderPassColorAttachmentDescriptor.cpp in Sources */, 31789 32097 DAED203016F2442B0070EC0F /* PageConsoleClient.cpp in Sources */, 31790 32098 A5A2AF0B1829734300DE1729 /* PageDebuggable.cpp in Sources */, … … 31815 32123 2D5002FB1B56D7990020AAF7 /* PathUtilities.cpp in Sources */, 31816 32124 A8FA6E5E0E4CFDED00D5CF49 /* Pattern.cpp in Sources */, 32125 31A089841E738D5A003B6609 /* JSWebGPURenderPipelineState.cpp in Sources */, 31817 32126 A80A38FE0E50CC8200A25EBC /* PatternCG.cpp in Sources */, 31818 32127 1A8A646C1D19FF8700D0E00F /* PaymentCocoa.mm in Sources */, … … 31824 32133 1A58E8671D19D80E00C0EA73 /* PaymentRequest.cpp in Sources */, 31825 32134 1A8A64671D19FDFF00D0E00F /* PaymentRequestValidator.cpp in Sources */, 32135 31A089661E738D59003B6609 /* JSWebGPUFunction.cpp in Sources */, 31826 32136 B27535640B053814002CE64F /* PDFDocumentImage.cpp in Sources */, 31827 32137 2D6E468417D660F500ECF8BB /* PDFDocumentImageMac.mm in Sources */, … … 31863 32173 2934940B16C02C0A00901318 /* PlatformSpeechSynthesisUtterance.cpp in Sources */, 31864 32174 2934940A16C02C0700901318 /* PlatformSpeechSynthesisVoice.cpp in Sources */, 32175 31A089811E738D5A003B6609 /* JSWebGPURenderPipelineDescriptor.cpp in Sources */, 31865 32176 297BE3DA16C043D8003316BD /* PlatformSpeechSynthesizer.cpp in Sources */, 31866 32177 AA12DF491743DF83004DAFDF /* PlatformSpeechSynthesizerIOS.mm in Sources */, … … 31946 32257 066C77300AB603FD00238CC4 /* RenderFileUploadControl.cpp in Sources */, 31947 32258 53C8298D13D8D92700DE2DEB /* RenderFlexibleBox.cpp in Sources */, 32259 31A0896F1E738D5A003B6609 /* JSWebGPURenderingContext.cpp in Sources */, 31948 32260 508CCA5013CF106B003151F3 /* RenderFlowThread.cpp in Sources */, 31949 32261 A871DED40A1530C700B12A68 /* RenderFrame.cpp in Sources */, … … 31975 32287 439046D912DA25E800AF81B3 /* RenderMathMLFencedOperator.cpp in Sources */, 31976 32288 439046DB12DA25E800AF80A2 /* RenderMathMLFraction.cpp in Sources */, 32289 31A0897B1E738D5A003B6609 /* JSWebGPURenderPassDescriptor.cpp in Sources */, 31977 32290 439046DD12DA25E800AF80A2 /* RenderMathMLMath.cpp in Sources */, 31978 32291 3571883EEF618793751E4089 /* RenderMathMLMenclose.cpp in Sources */, … … 32058 32371 E1BA003116FB92AC00BA7A35 /* ResourceHandleClient.cpp in Sources */, 32059 32372 7E428CE513E3407F003B661C /* ResourceHandleIOS.mm in Sources */, 32373 31A089051E737D51003B6609 /* WebGPUCommandBuffer.cpp in Sources */, 32060 32374 514C76510CE9234E007EF3CD /* ResourceHandleMac.mm in Sources */, 32061 32375 93E227E30AF589AD00D48324 /* ResourceLoader.cpp in Sources */, … … 32066 32380 6B693A341C51A95D00B03BEF /* ResourceLoadObserver.cpp in Sources */, 32067 32381 7A929CA61C598A9E004DF226 /* ResourceLoadStatistics.cpp in Sources */, 32382 31A0890B1E737D51003B6609 /* WebGPUFunction.cpp in Sources */, 32068 32383 7AD3CDD91C8A002F00F12698 /* ResourceLoadStatisticsStore.cpp in Sources */, 32069 32384 514C767C0CE923A1007EF3CD /* ResourceRequestBase.cpp in Sources */, … … 32156 32471 1AF62EE714DA22A70041556C /* ScrollingCoordinator.cpp in Sources */, 32157 32472 0FC4E40E187F82E10045882C /* ScrollingCoordinatorIOS.mm in Sources */, 32473 31A0891A1E737D55003B6609 /* JSWebGPURenderPassAttachmentDescriptorCustom.cpp in Sources */, 32158 32474 1AF62EE614DA22A70041556C /* ScrollingCoordinatorMac.mm in Sources */, 32159 32475 51C61B0A1DE536E7008A212D /* ScrollingMomentumCalculator.cpp in Sources */, 32476 31A089541E738D59003B6609 /* JSWebGPUBuffer.cpp in Sources */, 32160 32477 517DEEE51DE94ADC00B91644 /* ScrollingMomentumCalculatorMac.mm in Sources */, 32161 32478 93C38BFE164473C700091EB2 /* ScrollingStateFixedNode.cpp in Sources */, … … 32192 32509 0E7058EE1BC5BC190045A507 /* SearchPopupMenuCocoa.mm in Sources */, 32193 32510 976F36EA14686225005E93B4 /* SecurityContext.cpp in Sources */, 32511 31A0890E1E737D51003B6609 /* WebGPURenderCommandEncoder.cpp in Sources */, 32194 32512 BCD0E0FA0E972C3500265DEA /* SecurityOrigin.cpp in Sources */, 32195 32513 51E3AA0A1B98BCAB0036AD81 /* SecurityOriginData.cpp in Sources */, 32196 32514 1AF7AFC71A48A8BC00C8E4E7 /* SecurityOriginPolicy.cpp in Sources */, 32515 31A089121E737D51003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.cpp in Sources */, 32197 32516 974D2DA4146A535D00D51F8B /* SecurityPolicy.cpp in Sources */, 32198 32517 99CC0B5D18BE984A006CEBCC /* SegmentedInputStorage.cpp in Sources */, … … 32301 32620 8102C5881325BB1100DDE67A /* StringCallback.cpp in Sources */, 32302 32621 B23540F20D00782E002382FA /* StringTruncator.cpp in Sources */, 32622 31A089041E737D51003B6609 /* WebGPUBuffer.cpp in Sources */, 32303 32623 414B82041D6DF0DF0077EBE3 /* StructuredClone.cpp in Sources */, 32304 32624 BC5EB6A20E81DC4F00B25965 /* StyleBackgroundData.cpp in Sources */, … … 32562 32882 F55B3DD91251F12D003EF269 /* TextInputType.cpp in Sources */, 32563 32883 CECADFCD1537791D00E37068 /* TextInsertionBaseCommand.cpp in Sources */, 32884 31A089631E738D59003B6609 /* JSWebGPUDrawable.cpp in Sources */, 32564 32885 93309E1B099E64920056E581 /* TextIterator.cpp in Sources */, 32565 32886 E4D988B617BFEB210084FB88 /* TextNodeTraversal.cpp in Sources */, … … 32629 32950 93309E19099E64920056E581 /* TypingCommand.cpp in Sources */, 32630 32951 85031B4D0A44EFC700F992E0 /* UIEvent.cpp in Sources */, 32952 31A0897E1E738D5A003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.cpp in Sources */, 32631 32953 93354A3C0B24F8C9003F6DEA /* UIEventWithKeyState.cpp in Sources */, 32632 32954 518864E01BBAF57100E540C9 /* UniqueIDBDatabase.cpp in Sources */, … … 32670 32992 CDE83DB1183C44060031EAA3 /* VideoPlaybackQuality.cpp in Sources */, 32671 32993 CD9D82791C7B8EE1006FF066 /* VideoTextureCopierCV.cpp in Sources */, 32994 31A089151E737D51003B6609 /* WebGPURenderPipelineDescriptor.cpp in Sources */, 32672 32995 BE88E0DE1715D2A200658D98 /* VideoTrack.cpp in Sources */, 32673 32996 BE88E0E11715D2A200658D98 /* VideoTrackList.cpp in Sources */, … … 32676 32999 CEF418CE1179678C009D112C /* ViewportArguments.cpp in Sources */, 32677 33000 26F9A83818A046AC00AEB88A /* ViewportConfiguration.cpp in Sources */, 33001 31A089071E737D51003B6609 /* WebGPUDepthStencilDescriptor.cpp in Sources */, 32678 33002 3FFFF9AD159D9B060020BBD5 /* ViewportStyleResolver.cpp in Sources */, 32679 33003 93309E1F099E64920056E581 /* VisiblePosition.cpp in Sources */, … … 32715 33039 BC348BD30DB7F804004ABABB /* WebCoreJSBuiltinInternals.cpp in Sources */, 32716 33040 BC348BD30DB7F804004ABABA /* WebCoreJSBuiltins.cpp in Sources */, 33041 31A089571E738D59003B6609 /* JSWebGPUCommandBuffer.cpp in Sources */, 32717 33042 0F7DF1481E2BF1B10095951B /* WebCoreJSClientData.cpp in Sources */, 32718 33043 3140379C124BEA7F00AF40E4 /* WebCoreMotionManager.mm in Sources */, … … 32855 33180 E1271A140EEEC80400F61213 /* WorkerNavigator.cpp in Sources */, 32856 33181 2E4346520F546A8200B0F1BA /* WorkerRunLoop.cpp in Sources */, 33182 31A0890F1E737D51003B6609 /* WebGPURenderingContext.cpp in Sources */, 32857 33183 A57FD71B1DB9423E006AE24B /* WorkerRuntimeAgent.cpp in Sources */, 32858 33184 E1A643FD0EC097A000779668 /* WorkerScriptController.cpp in Sources */, -
trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp
r211247 r213762 1 1 /* 2 * Copyright (C) 2007-2009, 2011, 2016 Apple Inc. All rights reserved.2 * Copyright (C) 2007-2009, 2011, 2016, 2017 Apple Inc. All rights reserved. 3 3 * 4 4 * This library is free software; you can redistribute it and/or … … 41 41 #if ENABLE(WEBGL) 42 42 #include "JSWebGLRenderingContextBase.h" 43 #endif 44 45 #if ENABLE(WEBGPU) 46 #include "JSWebGPURenderingContext.h" 43 47 #endif 44 48 … … 151 155 return toJS(&state, globalObject(), downcast<WebGLRenderingContextBase>(*context)); 152 156 #endif 157 #if ENABLE(WEBGPU) 158 if (is<WebGPURenderingContext>(*context)) 159 return toJS(&state, globalObject(), downcast<WebGPURenderingContext>(*context)); 160 #endif 153 161 154 162 return toJS(&state, globalObject(), downcast<CanvasRenderingContext2D>(*context)); -
trunk/Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp
r209549 r213762 1 1 /* 2 * Copyright (C) 2007, 2016 Apple Inc. All rights reserved.2 * Copyright (C) 2007, 2016, 2017 Apple Inc. All rights reserved. 3 3 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. 4 4 * … … 38 38 #endif 39 39 40 #if ENABLE(WEBGPU) 41 #include "JSWebGPURenderingContext.h" 42 #endif 43 40 44 using namespace JSC; 41 45 … … 63 67 return toJS<IDLNullable<IDLInterface<WebGLRenderingContextBase>>>(state, *globalObject(), static_cast<WebGLRenderingContextBase*>(wrapped().getContextWebGL(contextId, WTFMove(attributes)))); 64 68 } 69 #endif 70 71 #if ENABLE(WEBGPU) 72 if (HTMLCanvasElement::isWebGPUType(contextId)) 73 return toJS<IDLNullable<IDLInterface<WebGPURenderingContext>>>(state, *globalObject(), static_cast<WebGPURenderingContext*>(wrapped().getContextWebGPU(contextId))); 65 74 #endif 66 75 -
trunk/Source/WebCore/bindings/js/JSWebGPURenderPassAttachmentDescriptorCustom.cpp
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 #include "config.h" 27 #include "JSWebGPURenderPassAttachmentDescriptor.h" 27 28 28 29 #if ENABLE(WEBGPU) 29 30 30 #include " PlatformLayer.h"31 #include <runtime/ArrayBufferView.h>32 #include <wtf/RefCounted.h>31 #include "JSDOMBinding.h" 32 #include "JSWebGPURenderPassColorAttachmentDescriptor.h" 33 #include "WebGPURenderPassColorAttachmentDescriptor.h" 33 34 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 35 using namespace JSC; 46 36 47 37 namespace WebCore { 48 38 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 39 JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, Ref<WebGPURenderPassAttachmentDescriptor>&& object) 40 { 41 if (object->isColorAttachmentDescriptor()) 42 return createWrapper<WebGPURenderPassColorAttachmentDescriptor>(globalObject, WTFMove(object)); 43 return createWrapper<WebGPURenderPassAttachmentDescriptor>(globalObject, WTFMove(object)); 44 } 53 45 54 class GPUDevice : public RefCounted<GPUDevice> { 55 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice(); 46 JSValue toJS(ExecState* state, JSDOMGlobalObject* globalObject, WebGPURenderPassAttachmentDescriptor& object) 47 { 48 return wrap(state, globalObject, object); 49 } 58 50 59 void reshape(int width, int height); 60 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 65 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 71 72 private: 73 GPUDevice(); 74 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 79 }; 80 81 } // namespace WebCore 51 } 82 52 83 53 #endif -
trunk/Source/WebCore/bindings/js/JSWebGPURenderingContextCustom.cpp
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 #include "config.h" 27 #include "JSWebGPURenderingContext.h" 27 28 28 29 #if ENABLE(WEBGPU) 29 30 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 31 using namespace JSC; 46 32 47 33 namespace WebCore { 48 34 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 53 54 class GPUDevice : public RefCounted<GPUDevice> { 55 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 58 59 void reshape(int width, int height); 60 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 65 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 71 72 private: 73 GPUDevice(); 74 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 79 }; 35 void JSWebGPURenderingContext::visitAdditionalChildren(SlotVisitor& visitor) 36 { 37 visitor.addOpaqueRoot(&wrapped()); 38 } 80 39 81 40 } // namespace WebCore -
trunk/Source/WebCore/html/HTMLCanvasElement.cpp
r213598 r213762 1 1 /* 2 * Copyright (C) 2004, 2006, 2007 Apple Inc. All rights reserved.2 * Copyright (C) 2004, 2006, 2007, 2017 Apple Inc. All rights reserved. 3 3 * Copyright (C) 2007 Alp Toker <alp@atoker.com> 4 4 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. … … 63 63 #endif 64 64 65 #if ENABLE(WEBGPU) 66 #include "WebGPURenderingContext.h" 67 #endif 68 65 69 #if PLATFORM(COCOA) 66 70 #include "MediaSampleAVFObjC.h" … … 195 199 if (HTMLCanvasElement::is2dType(type)) 196 200 return getContext2d(type); 201 202 #if ENABLE(WEBGPU) 203 if (HTMLCanvasElement::isWebGPUType(type)) 204 return getContextWebGPU(type); 205 #endif 197 206 198 207 #if ENABLE(WEBGL) … … 289 298 if (!m_context) { 290 299 m_context = WebGLRenderingContextBase::create(*this, attrs, type); 300 if (m_context) { 301 // Need to make sure a RenderLayer and compositing layer get created for the Canvas 302 invalidateStyleAndLayerComposition(); 303 } 304 } 305 306 return m_context.get(); 307 } 308 #endif 309 310 #if ENABLE(WEBGPU) 311 bool HTMLCanvasElement::isWebGPUType(const String& type) 312 { 313 return type == "webgpu"; 314 } 315 316 CanvasRenderingContext* HTMLCanvasElement::getContextWebGPU(const String& type) 317 { 318 ASSERT_UNUSED(type, HTMLCanvasElement::isWebGPUType(type)); 319 320 if (m_context && !m_context->isGPU()) 321 return nullptr; 322 323 if (!m_context) { 324 m_context = WebGPURenderingContext::create(*this); 291 325 if (m_context) { 292 326 // Need to make sure a RenderLayer and compositing layer get created for the Canvas … … 356 390 setSurfaceSize(newSize); 357 391 392 #if ENABLE(WEBGPU) 393 // FIXME: WebGPU needs something here too. 394 if (isGPU() && oldSize != size()) 395 static_cast<WebGPURenderingContext*>(m_context.get())->reshape(width(), height()); 396 #endif 397 358 398 #if ENABLE(WEBGL) 359 399 if (is3D() && oldSize != size()) … … 424 464 } 425 465 426 #if ENABLE(WEBGL) 466 #if ENABLE(WEBGPU) 467 if (isGPU()) 468 static_cast<WebGPURenderingContext*>(m_context.get())->markLayerComposited(); 469 #endif 470 471 #if ENABLE(WEBGL) 427 472 if (is3D()) 428 473 static_cast<WebGLRenderingContextBase*>(m_context.get())->markLayerComposited(); 429 474 #endif 430 475 } 476 477 #if ENABLE(WEBGPU) 478 bool HTMLCanvasElement::isGPU() const 479 { 480 return m_context && m_context->isGPU(); 481 } 482 #endif 431 483 432 484 #if ENABLE(WEBGL) -
trunk/Source/WebCore/html/HTMLCanvasElement.h
r213598 r213762 1 1 /* 2 * Copyright (C) 2004, 2006, 2009, 2010 Apple Inc. All rights reserved.2 * Copyright (C) 2004, 2006, 2009, 2010, 2017 Apple Inc. All rights reserved. 3 3 * Copyright (C) 2007 Alp Toker <alp@atoker.com> 4 4 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. … … 101 101 CanvasRenderingContext* getContextWebGL(const String&, WebGLContextAttributes&& = { }); 102 102 #endif 103 #if ENABLE(WEBGPU) 104 static bool isWebGPUType(const String&); 105 CanvasRenderingContext* getContextWebGPU(const String&); 106 #endif 103 107 104 108 static String toEncodingMimeType(const String& mimeType); … … 176 180 #if ENABLE(WEBGL) 177 181 bool is3D() const; 182 #endif 183 #if ENABLE(WEBGPU) 184 bool isGPU() const; 178 185 #endif 179 186 -
trunk/Source/WebCore/html/canvas/CanvasRenderingContext.h
r208206 r213762 1 1 /* 2 * Copyright (C) 2009 Apple Inc. All rights reserved.2 * Copyright (C) 2009, 2017 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 55 55 virtual bool isWebGL2() const { return false; } 56 56 bool is3d() const { return isWebGL1() || isWebGL2(); } 57 virtual bool isGPU() const { return false; } 57 58 virtual bool isAccelerated() const { return false; } 58 59 -
trunk/Source/WebCore/html/canvas/WebGPUBuffer.cpp
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 #include "config.h" 27 #include "WebGPUBuffer.h" 27 28 28 29 #if ENABLE(WEBGPU) 29 30 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 31 #include "GPUBuffer.h" 32 #include "WebGPURenderingContext.h" 33 #include <runtime/ArrayBuffer.h> 46 34 47 35 namespace WebCore { 48 36 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture;52 class GPUTextureDescriptor; 37 Ref<WebGPUBuffer> WebGPUBuffer::create(WebGPURenderingContext* context, ArrayBufferView* data) 38 { 39 return adoptRef(*new WebGPUBuffer(context, data)); 40 } 53 41 54 class GPUDevice : public RefCounted<GPUDevice> { 55 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 42 WebGPUBuffer::WebGPUBuffer(WebGPURenderingContext* context, ArrayBufferView* data) 43 : WebGPUObject(context) 44 { 45 m_buffer = context->device()->createBufferFromData(data); 46 } 58 47 59 void reshape(int width, int height); 48 WebGPUBuffer::~WebGPUBuffer() 49 { 50 } 60 51 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice();64 #endif 52 unsigned long WebGPUBuffer::length() const 53 { 54 if (!m_buffer) 55 return 0; 65 56 66 WebGPULayer* layer() { return m_layer.get(); } 57 return m_buffer->length(); 58 } 67 59 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 60 RefPtr<ArrayBuffer> WebGPUBuffer::contents() const 61 { 62 if (!m_buffer) 63 return nullptr; 71 64 72 private: 73 GPUDevice(); 74 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 79 }; 65 return m_buffer->contents(); 66 } 80 67 81 68 } // namespace WebCore -
trunk/Source/WebCore/html/canvas/WebGPUBuffer.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 30 #include "WebGPUObject.h" 46 31 47 32 namespace WebCore { 48 33 49 34 class GPUBuffer; 50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 35 54 class GPUDevice : public RefCounted<GPUDevice>{36 class WebGPUBuffer : public WebGPUObject { 55 37 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();38 virtual ~WebGPUBuffer(); 39 static Ref<WebGPUBuffer> create(WebGPURenderingContext*, ArrayBufferView*); 58 40 59 void reshape(int width, int height); 41 unsigned long length() const; 42 RefPtr<ArrayBuffer> contents() const; 60 43 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 65 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 44 GPUBuffer* buffer() { return m_buffer.get(); } 71 45 72 46 private: 73 GPUDevice(); 74 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 47 WebGPUBuffer(WebGPURenderingContext*, ArrayBufferView*); 48 RefPtr<GPUBuffer> m_buffer; 79 49 }; 80 50 -
trunk/Source/WebCore/html/canvas/WebGPUBuffer.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Conditional=WEBGPU, 28 EnabledAtRuntime=WebGPU 29 ] interface WebGPUBuffer { 27 30 28 #if ENABLE(WEBGPU) 31 readonly attribute unsigned long length; 32 readonly attribute ArrayBufferView contents; 29 33 30 #include "PlatformLayer.h"31 #include <runtime/ArrayBufferView.h>32 #include <wtf/RefCounted.h>33 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 34 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPUCommandBuffer.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 30 #include "WebGPUObject.h" 33 31 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 32 #include <wtf/Vector.h> 46 33 47 34 namespace WebCore { 48 35 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 36 // FIXME: WebGPU - Stub implementation - not implemented yet. 37 // class GPUCommandBuffer; 38 class GPUDrawable; 39 class GPURenderCommandEncoder; 40 class GPURenderPassDescriptor; 41 class GPUCommandBuffer : public RefCounted<GPUCommandBuffer> { 42 public: 43 GPURenderCommandEncoder* createRenderCommandEncoder(GPURenderPassDescriptor*) { return nullptr; } 44 void commit() { } 45 void presentDrawable(GPUDrawable*) { } 46 }; 47 // FIXME: WebGPU - End stub. 48 class WebGPUCommandQueue; 49 class WebGPUDrawable; 50 class WebGPUFunction; 51 class WebGPURenderCommandEncoder; 52 class WebGPURenderPassDescriptor; 53 53 54 class GPUDevice : public RefCounted<GPUDevice>{54 class WebGPUCommandBuffer : public WebGPUObject { 55 55 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();56 virtual ~WebGPUCommandBuffer(); 57 static Ref<WebGPUCommandBuffer> create(WebGPURenderingContext*, WebGPUCommandQueue*); 58 58 59 void reshape(int width, int height); 59 void commit(); 60 void presentDrawable(WebGPUDrawable&); 60 61 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 62 RefPtr<WebGPURenderCommandEncoder> createRenderCommandEncoderWithDescriptor(WebGPURenderPassDescriptor&); 65 63 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 64 GPUCommandBuffer* commandBuffer() { return m_commandBuffer.get(); } 71 65 72 66 private: 73 GPUDevice(); 74 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 67 WebGPUCommandBuffer(WebGPURenderingContext*, WebGPUCommandQueue*); 68 RefPtr<GPUCommandBuffer> m_commandBuffer; 79 69 }; 80 70 -
trunk/Source/WebCore/html/canvas/WebGPUCommandBuffer.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Conditional=WEBGPU, 28 EnabledAtRuntime=WebGPU 29 ] interface WebGPUCommandBuffer { 27 30 28 #if ENABLE(WEBGPU) 31 WebGPURenderCommandEncoder createRenderCommandEncoderWithDescriptor(WebGPURenderPassDescriptor descriptor); 32 void commit(); 33 void presentDrawable(WebGPUDrawable drawable); 29 34 30 #include "PlatformLayer.h"31 #include <runtime/ArrayBufferView.h>32 #include <wtf/RefCounted.h>33 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 35 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPUCommandQueue.cpp
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 #include "config.h" 27 #include "WebGPUCommandQueue.h" 27 28 28 29 #if ENABLE(WEBGPU) 29 30 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 31 /* FIXME: WebGPU - Not implemented yet. 32 #include "GPUCommandQueue.h" 33 */ 34 #include "WebGPUCommandBuffer.h" 35 #include "WebGPURenderingContext.h" 46 36 47 37 namespace WebCore { 48 38 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture;52 class GPUTextureDescriptor; 39 Ref<WebGPUCommandQueue> WebGPUCommandQueue::create(WebGPURenderingContext* context) 40 { 41 return adoptRef(*new WebGPUCommandQueue(context)); 42 } 53 43 54 class GPUDevice : public RefCounted<GPUDevice> { 55 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 44 WebGPUCommandQueue::WebGPUCommandQueue(WebGPURenderingContext* context) 45 : WebGPUObject(context) 46 { 47 m_commandQueue = context->device()->createCommandQueue(); 48 } 58 49 59 void reshape(int width, int height); 50 WebGPUCommandQueue::~WebGPUCommandQueue() 51 { 52 } 60 53 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice();64 #endif 54 String WebGPUCommandQueue::label() const 55 { 56 if (!m_commandQueue) 57 return emptyString(); 65 58 66 WebGPULayer* layer() { return m_layer.get(); } 59 return m_commandQueue->label(); 60 } 67 61 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 62 void WebGPUCommandQueue::setLabel(const String& label) 63 { 64 if (!m_commandQueue) 65 return; 71 66 72 private: 73 GPUDevice(); 67 m_commandQueue->setLabel(label); 68 } 74 69 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 Re tainPtr<id> m_device;78 #endif 79 } ;70 RefPtr<WebGPUCommandBuffer> WebGPUCommandQueue::createCommandBuffer() 71 { 72 RefPtr<WebGPUCommandBuffer> buffer = WebGPUCommandBuffer::create(this->context(), this); 73 return buffer; 74 } 80 75 81 76 } // namespace WebCore -
trunk/Source/WebCore/html/canvas/WebGPUCommandQueue.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 30 #include "WebGPUObject.h" 33 31 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 32 #include <wtf/Vector.h> 46 33 47 34 namespace WebCore { 48 35 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 36 class GPUCommandBuffer; 53 37 54 class GPUDevice : public RefCounted<GPUDevice> { 38 // FIXME: WebGPU - Stub implementation - not implemented yet. 39 // class GPUCommandQueue; 40 class GPUCommandQueue : public RefCounted<GPUCommandQueue> { 55 41 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 42 GPUCommandBuffer* createCommandBuffer() { return nullptr; } 43 String label() const { return emptyString(); } 44 void setLabel(const String&) { } 45 }; 46 // FIXME: WebGPU - End stub. 58 47 59 void reshape(int width, int height);48 class WebGPUCommandBuffer; 60 49 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice();64 #endif 50 class WebGPUCommandQueue : public WebGPUObject { 51 public: 52 virtual ~WebGPUCommandQueue(); 53 static Ref<WebGPUCommandQueue> create(WebGPURenderingContext*); 65 54 66 WebGPULayer* layer() { return m_layer.get(); } 55 String label() const; 56 void setLabel(const String&); 67 57 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);58 RefPtr<WebGPUCommandBuffer> createCommandBuffer(); 59 60 GPUCommandQueue* commandQueue() { return m_commandQueue.get(); } 71 61 72 62 private: 73 GPUDevice();63 WebGPUCommandQueue(WebGPURenderingContext*); 74 64 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 65 RefPtr<GPUCommandQueue> m_commandQueue; 79 66 }; 80 67 -
trunk/Source/WebCore/html/canvas/WebGPUCommandQueue.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Conditional=WEBGPU, 28 EnabledAtRuntime=WebGPU 29 ] interface WebGPUCommandQueue { 27 30 28 #if ENABLE(WEBGPU) 31 attribute DOMString label; 29 32 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 WebGPUCommandBuffer? createCommandBuffer(); 33 34 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 35 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 30 #include "WebGPUEnums.h" 31 #include "WebGPUObject.h" 33 32 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 33 #include <wtf/Vector.h> 46 34 47 35 namespace WebCore { 48 36 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 37 // FIXME: WebGPU - Stub implementation - not implemented yet. 38 // class GPUDepthStencilDescriptor; 39 class GPUDepthStencilDescriptor : public RefCounted<GPUDepthStencilDescriptor> { 40 public: 41 static RefPtr<GPUDepthStencilDescriptor> create() { return nullptr; } 42 String label() const { return emptyString(); } 43 void setLabel(const String&) { } 44 bool depthWriteEnabled() const { return false; } 45 void setDepthWriteEnabled(bool) { } 46 void setDepthCompareFunction(GPUCompareFunction) { } 47 }; 48 // FIXME: WebGPU - End stub. 53 49 54 class GPUDevice : public RefCounted<GPUDevice>{50 class WebGPUDepthStencilDescriptor : public WebGPUObject { 55 51 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();52 virtual ~WebGPUDepthStencilDescriptor(); 53 static Ref<WebGPUDepthStencilDescriptor> create(); 58 54 59 void reshape(int width, int height); 55 String label() const; 56 void setLabel(const String&); 60 57 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 58 bool depthWriteEnabled() const; 59 void setDepthWriteEnabled(bool); 65 60 66 WebGPULayer* layer() { return m_layer.get(); } 61 using CompareFunction = WebGPUCompareFunction; 62 CompareFunction depthCompareFunction() const; 63 void setDepthCompareFunction(CompareFunction); 67 64 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 65 GPUDepthStencilDescriptor* depthStencilDescriptor() { return m_depthStencilDescriptor.get(); } 71 66 72 67 private: 73 GPUDevice();68 WebGPUDepthStencilDescriptor(); 74 69 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 70 WebGPUCompareFunction m_depthCompareFunction; 71 RefPtr<GPUDepthStencilDescriptor> m_depthStencilDescriptor; 79 72 }; 80 73 -
trunk/Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 27 28 #if ENABLE(WEBGPU) 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 46 47 namespace WebCore { 48 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 53 54 class GPUDevice : public RefCounted<GPUDevice> { 55 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 58 59 void reshape(int width, int height); 60 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 65 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 71 72 private: 73 GPUDevice(); 74 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 26 [ 27 Conditional=WEBGPU, 28 EnabledAtRuntime=WebGPU 29 ] enum WebGPUCompareFunction { 30 "never", 31 "less", 32 "equal", 33 "lessequal", 34 "greater", 35 "notequal", 36 "greaterequal", 37 "always" 79 38 }; 80 39 81 } // namespace WebCore 40 [ 41 Constructor, 42 Conditional=WEBGPU, 43 EnabledAtRuntime=WebGPU 44 ] interface WebGPUDepthStencilDescriptor { 82 45 83 #endif 46 attribute DOMString label; 47 48 attribute WebGPUCompareFunction depthCompareFunction; 49 attribute boolean depthWriteEnabled; 50 51 }; -
trunk/Source/WebCore/html/canvas/WebGPUDepthStencilState.cpp
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 #include "config.h" 27 #include "WebGPUDepthStencilState.h" 27 28 28 29 #if ENABLE(WEBGPU) 29 30 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 31 /* FIXME: WebGPU - Not implemented yet. 32 #include "GPUDepthStencilState.h" 33 */ 34 #include "WebGPUDepthStencilDescriptor.h" 35 #include "WebGPURenderingContext.h" 46 36 47 37 namespace WebCore { 48 38 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture;52 class GPUTextureDescriptor; 39 Ref<WebGPUDepthStencilState> WebGPUDepthStencilState::create(WebGPURenderingContext* context, WebGPUDepthStencilDescriptor* descriptor) 40 { 41 return adoptRef(*new WebGPUDepthStencilState(context, descriptor)); 42 } 53 43 54 class GPUDevice : public RefCounted<GPUDevice> { 55 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 44 WebGPUDepthStencilState::WebGPUDepthStencilState(WebGPURenderingContext* context, WebGPUDepthStencilDescriptor* descriptor) 45 : WebGPUObject(context) 46 { 47 if (!context || !descriptor) 48 return; 49 m_depthStencilState = GPUDepthStencilState::create(context->device().get(), descriptor->depthStencilDescriptor()); 50 } 58 51 59 void reshape(int width, int height); 52 WebGPUDepthStencilState::~WebGPUDepthStencilState() 53 { 54 } 60 55 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice();64 #endif 56 String WebGPUDepthStencilState::label() const 57 { 58 if (!m_depthStencilState) 59 return emptyString(); 65 60 66 WebGPULayer* layer() { return m_layer.get(); } 61 return m_depthStencilState->label(); 62 } 67 63 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 64 void WebGPUDepthStencilState::setLabel(const String& label) 65 { 66 if (!m_depthStencilState) 67 return; 71 68 72 private: 73 GPUDevice(); 74 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 79 }; 69 m_depthStencilState->setLabel(label); 70 } 80 71 81 72 } // namespace WebCore -
trunk/Source/WebCore/html/canvas/WebGPUDepthStencilState.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 30 #include "WebGPUObject.h" 33 31 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 32 #include <wtf/Vector.h> 46 33 47 34 namespace WebCore { 48 35 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 36 // FIXME: WebGPU - Stub implementation - not implemented yet. 37 // class GPUDepthStencilState; 38 class GPUDevice; 39 class GPUDepthStencilDescriptor; 40 class GPUDepthStencilState : public RefCounted<GPUDepthStencilState> { 41 public: 42 static RefPtr<GPUDepthStencilState> create(GPUDevice*, GPUDepthStencilDescriptor*) { return nullptr; } 43 String label() const { return emptyString(); } 44 void setLabel(const String&) { } 45 }; 46 // FIXME: WebGPU - End stub. 47 class WebGPUDepthStencilDescriptor; 53 48 54 class GPUDevice : public RefCounted<GPUDevice>{49 class WebGPUDepthStencilState : public WebGPUObject { 55 50 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();51 virtual ~WebGPUDepthStencilState(); 52 static Ref<WebGPUDepthStencilState> create(WebGPURenderingContext*, WebGPUDepthStencilDescriptor*); 58 53 59 void reshape(int width, int height); 54 String label() const; 55 void setLabel(const String&); 60 56 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 65 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 57 GPUDepthStencilState* depthStencilState() { return m_depthStencilState.get(); } 71 58 72 59 private: 73 GPUDevice();60 WebGPUDepthStencilState(WebGPURenderingContext*, WebGPUDepthStencilDescriptor*); 74 61 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 62 RefPtr<GPUDepthStencilState> m_depthStencilState; 79 63 }; 80 64 81 65 } // namespace WebCore 82 66 -
trunk/Source/WebCore/html/canvas/WebGPUDepthStencilState.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Conditional=WEBGPU, 28 EnabledAtRuntime=WebGPU 29 ] interface WebGPUDepthStencilState { 27 30 28 #if ENABLE(WEBGPU) 31 attribute DOMString label; 29 32 30 #include "PlatformLayer.h"31 #include <runtime/ArrayBufferView.h>32 #include <wtf/RefCounted.h>33 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 33 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPUDrawable.cpp
r213761 r213762 15 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 16 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR 17 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 17 18 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,19 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 20 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY … … 24 24 */ 25 25 26 #pragma once 26 #include "config.h" 27 #include "WebGPUDrawable.h" 27 28 28 29 #if ENABLE(WEBGPU) 29 30 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 31 /* FIXME: WebGPU - Not implemented yet. 32 #include "GPUDrawable.h" 33 */ 34 #include "GPUTexture.h" 35 #include "WebGPURenderingContext.h" 36 #include "WebGPUTexture.h" 46 37 47 38 namespace WebCore { 48 39 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture;52 class GPUTextureDescriptor; 40 Ref<WebGPUDrawable> WebGPUDrawable::create(WebGPURenderingContext* context) 41 { 42 return adoptRef(*new WebGPUDrawable(context)); 43 } 53 44 54 class GPUDevice : public RefCounted<GPUDevice> { 55 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 45 WebGPUDrawable::WebGPUDrawable(WebGPURenderingContext* context) 46 : WebGPUObject(context) 47 { 48 m_drawable = context->device()->getFramebuffer(); 49 if (!m_drawable) 50 return; 58 51 59 void reshape(int width, int height); 52 RefPtr<GPUTexture> drawableTexture = GPUTexture::createFromExistingTexture(m_drawable->texture()); 53 m_texture = WebGPUTexture::createFromDrawableTexture(context, drawableTexture); 54 } 60 55 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 56 WebGPUDrawable::~WebGPUDrawable() 57 { 58 } 65 59 66 WebGPULayer* layer() { return m_layer.get(); } 60 WebGPUTexture* WebGPUDrawable::texture() 61 { 62 if (!m_texture) 63 return nullptr; 67 64 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 71 72 private: 73 GPUDevice(); 74 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 79 }; 65 return m_texture.get(); 66 } 80 67 81 68 } // namespace WebCore -
trunk/Source/WebCore/html/canvas/WebGPUDrawable.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 30 #include "WebGPUObject.h" 46 31 47 32 namespace WebCore { 48 33 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 34 // FIXME: WebGPU - Stub implementation - not implemented yet. 35 // class GPUDrawable; 36 class GPUDrawable : public RefCounted<GPUDrawable> { 37 public: 38 GPUTexture* texture() { return nullptr; } 39 }; 40 // FIXME: WebGPU - End stub. 41 class WebGPUTexture; 53 42 54 class GPUDevice : public RefCounted<GPUDevice>{43 class WebGPUDrawable : public WebGPUObject { 55 44 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();45 virtual ~WebGPUDrawable(); 46 static Ref<WebGPUDrawable> create(WebGPURenderingContext*); 58 47 59 void reshape(int width, int height);48 WebGPUTexture* texture(); 60 49 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 65 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 50 GPUDrawable* drawable() { return m_drawable.get(); } 71 51 72 52 private: 73 GPUDevice(); 74 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 53 WebGPUDrawable(WebGPURenderingContext*); 54 RefPtr<GPUDrawable> m_drawable; 55 RefPtr<WebGPUTexture> m_texture; 79 56 }; 80 57 -
trunk/Source/WebCore/html/canvas/WebGPUDrawable.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Conditional=WEBGPU, 28 EnabledAtRuntime=WebGPU 29 ] interface WebGPUDrawable { 27 30 28 #if ENABLE(WEBGPU) 31 readonly attribute WebGPUTexture texture; // FIXME: Only the framebuffer should have this. 29 32 30 #include "PlatformLayer.h"31 #include <runtime/ArrayBufferView.h>32 #include <wtf/RefCounted.h>33 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 33 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPUEnums.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 30 #include <wtf/Optional.h> 31 #include <wtf/text/WTFString.h> 46 32 47 33 namespace WebCore { 48 34 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 35 enum class WebGPUCompareFunction { 36 Never, 37 Less, 38 Equal, 39 Lessequal, 40 Greater, 41 Notequal, 42 Greaterequal, 43 Always 44 }; 53 45 54 class GPUDevice : public RefCounted<GPUDevice> { 55 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 46 std::optional<WebGPUCompareFunction> toWebGPUCompareFunction(const String&); 47 String web3DCompareFunctionName(const WebGPUCompareFunction); 58 48 59 void reshape(int width, int height); 60 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 65 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 71 72 private: 73 GPUDevice(); 74 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 49 // FIXME: WebGPU - Stub implementation - not implemented yet. 50 // enum class GPUCompareFunction; 51 enum class GPUCompareFunction { 52 Never, 53 Less, 54 Equal, 55 LessEqual, 56 Greater, 57 NotEqual, 58 GreaterEqual, 59 Always 79 60 }; 61 // FIXME: WebGPU - End stub. 62 GPUCompareFunction toGPUCompareFunction(const WebGPUCompareFunction); 80 63 81 64 } // namespace WebCore -
trunk/Source/WebCore/html/canvas/WebGPUFunction.cpp
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 #include "config.h" 27 #include "WebGPUFunction.h" 27 28 28 29 #if ENABLE(WEBGPU) 29 30 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 31 #include "GPUFunction.h" 32 #include "GPULibrary.h" 33 #include "WebGPULibrary.h" 34 #include "WebGPURenderingContext.h" 46 35 47 36 namespace WebCore { 48 37 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture;52 class GPUTextureDescriptor; 38 Ref<WebGPUFunction> WebGPUFunction::create(WebGPURenderingContext* context, WebGPULibrary* library, const String& name) 39 { 40 return adoptRef(*new WebGPUFunction(context, library, name)); 41 } 53 42 54 class GPUDevice : public RefCounted<GPUDevice> { 55 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 43 WebGPUFunction::WebGPUFunction(WebGPURenderingContext* context, WebGPULibrary* library, const String& name) 44 : WebGPUObject(context) 45 { 46 m_function = library->library()->functionWithName(name); 47 } 58 48 59 void reshape(int width, int height); 49 WebGPUFunction::~WebGPUFunction() 50 { 51 } 60 52 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice();64 #endif 53 String WebGPUFunction::name() const 54 { 55 if (!m_function) 56 return emptyString(); 65 57 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 71 72 private: 73 GPUDevice(); 74 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 79 }; 58 return m_function->name(); 59 } 80 60 81 61 } // namespace WebCore -
trunk/Source/WebCore/html/canvas/WebGPUFunction.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 30 #include "WebGPUObject.h" 46 31 47 32 namespace WebCore { 48 33 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 34 class GPUFunction; 35 class WebGPULibrary; 53 36 54 class GPUDevice : public RefCounted<GPUDevice>{37 class WebGPUFunction : public WebGPUObject { 55 38 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();39 virtual ~WebGPUFunction(); 40 static Ref<WebGPUFunction> create(WebGPURenderingContext*, WebGPULibrary*, const String& name); 58 41 59 void reshape(int width, int height);42 String name() const; 60 43 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 65 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 44 GPUFunction* function() const { return m_function.get(); } 71 45 72 46 private: 73 GPUDevice();47 WebGPUFunction(WebGPURenderingContext*, WebGPULibrary*, const String& name); 74 48 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 49 RefPtr<GPUFunction> m_function; 79 50 }; 80 51 81 52 } // namespace WebCore 82 53 -
trunk/Source/WebCore/html/canvas/WebGPUFunction.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Conditional=WEBGPU, 28 EnabledAtRuntime=WebGPU 29 ] interface WebGPUFunction { 27 30 28 #if ENABLE(WEBGPU) 31 readonly attribute DOMString name; 29 32 30 #include "PlatformLayer.h"31 #include <runtime/ArrayBufferView.h>32 #include <wtf/RefCounted.h>33 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 33 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPULibrary.cpp
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 #include "config.h" 27 #include "WebGPULibrary.h" 27 28 28 29 #if ENABLE(WEBGPU) 29 30 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 31 #include "GPULibrary.h" 32 #include "WebGPUFunction.h" 33 #include "WebGPURenderingContext.h" 46 34 47 35 namespace WebCore { 48 36 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture;52 class GPUTextureDescriptor; 37 Ref<WebGPULibrary> WebGPULibrary::create(WebGPURenderingContext* context, const String& sourceCode) 38 { 39 return adoptRef(*new WebGPULibrary(context, sourceCode)); 40 } 53 41 54 class GPUDevice : public RefCounted<GPUDevice> { 55 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 42 WebGPULibrary::WebGPULibrary(WebGPURenderingContext* context, const String& sourceCode) 43 : WebGPUObject(context) 44 , m_sourceCode(sourceCode) 45 { 46 m_library = context->device()->createLibrary(sourceCode); 47 } 58 48 59 void reshape(int width, int height); 49 WebGPULibrary::~WebGPULibrary() 50 { 51 } 60 52 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice();64 #endif 53 String WebGPULibrary::label() const 54 { 55 if (!m_library) 56 return emptyString(); 65 57 66 WebGPULayer* layer() { return m_layer.get(); } 58 return m_library->label(); 59 } 67 60 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 61 void WebGPULibrary::setLabel(const String& label) 62 { 63 if (!m_library) 64 return; 71 65 72 private: 73 GPUDevice(); 66 m_library->setLabel(label); 67 } 74 68 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 79 }; 69 Vector<String> WebGPULibrary::functionNames() 70 { 71 if (!m_library) 72 return Vector<String>(); 73 74 return m_library->functionNames(); 75 } 76 77 RefPtr<WebGPUFunction> WebGPULibrary::functionWithName(const String& name) 78 { 79 if (!m_library) 80 return nullptr; 81 82 RefPtr<WebGPUFunction> function = WebGPUFunction::create(this->context(), this, name); 83 if (!function->function()) 84 return nullptr; 85 return function; 86 } 80 87 81 88 } // namespace WebCore -
trunk/Source/WebCore/html/canvas/WebGPULibrary.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 30 #include "WebGPUObject.h" 33 31 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 32 #include <wtf/Vector.h> 46 33 47 34 namespace WebCore { 48 35 49 class GPUBuffer;50 36 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 37 class WebGPUFunction; 53 38 54 class GPUDevice : public RefCounted<GPUDevice>{39 class WebGPULibrary : public WebGPUObject { 55 40 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();41 virtual ~WebGPULibrary(); 42 static Ref<WebGPULibrary> create(WebGPURenderingContext*, const String& sourceCode); 58 43 59 void reshape(int width, int height); 44 String sourceCode() const { return m_sourceCode; } 45 String label() const; 46 void setLabel(const String&); 60 47 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 48 Vector<String> functionNames(); 65 49 66 WebGPULayer* layer() { return m_layer.get(); }50 RefPtr<WebGPUFunction> functionWithName(const String&); 67 51 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 52 GPULibrary* library() { return m_library.get(); } 71 53 72 54 private: 73 GPUDevice();55 WebGPULibrary(WebGPURenderingContext*, const String& sourceCode); 74 56 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 57 String m_sourceCode; 58 RefPtr<GPULibrary> m_library; 79 59 }; 80 60 -
trunk/Source/WebCore/html/canvas/WebGPULibrary.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Conditional=WEBGPU, 28 EnabledAtRuntime=WebGPU 29 ] interface WebGPULibrary { 27 30 28 #if ENABLE(WEBGPU) 31 readonly attribute DOMString sourceCode; 32 attribute DOMString label; 33 readonly attribute sequence<DOMString> functionNames; 29 34 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 35 WebGPUFunction? functionWithName(DOMString name); 33 36 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 37 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPUObject.cpp
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 #include "config.h" 27 #include "WebGPUObject.h" 27 28 28 29 #if ENABLE(WEBGPU) 29 30 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 31 #include "WebGPURenderingContext.h" 46 32 47 33 namespace WebCore { 48 34 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 35 WebGPUObject::WebGPUObject(WebGPURenderingContext* context) 36 : m_context(context) 37 { 38 } 53 39 54 class GPUDevice : public RefCounted<GPUDevice> { 55 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 40 WebGPUObject::~WebGPUObject() 41 { 42 } 58 43 59 void reshape(int width, int height); 44 void WebGPUObject::deleteObject(GPUDevice*) 45 { 46 m_deleted = true; 47 } 60 48 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 65 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 71 72 private: 73 GPUDevice(); 74 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 79 }; 80 81 } // namespace WebCore 49 } 82 50 83 51 #endif -
trunk/Source/WebCore/html/canvas/WebGPUObject.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include " PlatformLayer.h"31 #include <runtime/ArrayBufferView.h> 30 #include "GPUDevice.h" 31 32 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 33 47 34 namespace WebCore { 48 35 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 36 class WebGPURenderingContext; 53 37 54 class GPUDevice : public RefCounted<GPUDevice> {38 class WebGPUObject : public RefCounted<WebGPUObject> { 55 39 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 40 virtual ~WebGPUObject(); 58 41 59 void reshape(int width, int height); 42 void deleteObject(GPUDevice*); 43 bool isDeleted() const { return m_deleted; } 60 44 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 45 WebGPURenderingContext* context() { return m_context.get(); } 65 46 66 WebGPULayer* layer() { return m_layer.get(); } 47 protected: 48 WebGPUObject(WebGPURenderingContext* = nullptr); 67 49 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 50 bool hasContext() const { return m_context; } 71 51 72 52 private: 73 GPUDevice(); 74 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 53 RefPtr<WebGPURenderingContext> m_context; 54 bool m_deleted { false }; 79 55 }; 80 56 81 57 } // namespace WebCore 82 58 -
trunk/Source/WebCore/html/canvas/WebGPURenderCommandEncoder.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Conditional=WEBGPU, 28 EnabledAtRuntime=WebGPU 29 ] interface WebGPURenderCommandEncoder { 27 30 28 #if ENABLE(WEBGPU) 31 void setRenderPipelineState(WebGPURenderPipelineState pipelineState); 32 void setDepthStencilState(WebGPUDepthStencilState depthStencilState); 33 void setVertexBuffer(WebGPUBuffer buffer, unsigned long offset, unsigned long index); 34 void setFragmentBuffer(WebGPUBuffer buffer, unsigned long offset, unsigned long index); 35 void drawPrimitives(unsigned long type, unsigned long start, unsigned long count); 29 36 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 37 void endEncoding(); 33 38 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 39 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 30 #include "WebGPUObject.h" 33 31 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 32 #include <wtf/Vector.h> 46 33 47 34 namespace WebCore { 48 35 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 36 // FIXME: WebGPU - Stub implementation - not implemented yet. 37 // class GPURenderPassAttachmentDescriptor; 38 class GPURenderPassAttachmentDescriptor : public RefCounted<GPURenderPassAttachmentDescriptor> { 39 public: 40 unsigned long loadAction() const { return 0; } 41 void setLoadAction(unsigned long) { } 42 unsigned long storeAction() const { return 0; } 43 void setStoreAction(unsigned long) { } 44 void setTexture(GPUTexture*) { } 45 }; 46 // FIXME: WebGPU - End stub. 47 class WebGPUTexture; 53 48 54 class GPUDevice : public RefCounted<GPUDevice>{49 class WebGPURenderPassAttachmentDescriptor : public WebGPUObject { 55 50 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 51 virtual ~WebGPURenderPassAttachmentDescriptor(); 58 52 59 void reshape(int width, int height); 53 unsigned long loadAction() const; 54 void setLoadAction(unsigned long); 60 55 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 56 unsigned long storeAction() const; 57 void setStoreAction(unsigned long); 65 58 66 WebGPULayer* layer() { return m_layer.get(); } 59 RefPtr<WebGPUTexture> texture() const; 60 void setTexture(RefPtr<WebGPUTexture>); 67 61 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 62 GPURenderPassAttachmentDescriptor* renderPassAttachmentDescriptor() const { return m_renderPassAttachmentDescriptor.get(); } 63 64 virtual bool isColorAttachmentDescriptor() const { return false; } 65 66 protected: 67 68 WebGPURenderPassAttachmentDescriptor(WebGPURenderingContext*, GPURenderPassAttachmentDescriptor*); 69 71 70 72 71 private: 73 GPUDevice();74 72 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 73 RefPtr<GPURenderPassAttachmentDescriptor> m_renderPassAttachmentDescriptor; 74 RefPtr<WebGPUTexture> m_texture; 79 75 }; 80 76 81 77 } // namespace WebCore 82 78 -
trunk/Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Conditional=WEBGPU, 28 EnabledAtRuntime=WebGPU, 29 CustomToJSObject 30 ] 31 interface WebGPURenderPassAttachmentDescriptor { 27 32 28 #if ENABLE(WEBGPU) 33 attribute WebGPUTexture? texture; 29 34 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 35 attribute unsigned long loadAction; // should be WebGPULoadAction 36 attribute unsigned long storeAction; // should be WebGPUStoreAction 33 37 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 38 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 30 #include "WebGPUObject.h" 31 #include "WebGPURenderPassAttachmentDescriptor.h" 33 32 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 33 #include <wtf/Vector.h> 46 34 47 35 namespace WebCore { 48 36 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 37 // FIXME: WebGPU - Stub implementation - not implemented yet. 38 // class GPURenderPassColorAttachmentDescriptor; 39 class GPURenderPassColorAttachmentDescriptor : public GPURenderPassAttachmentDescriptor { 40 public: 41 Vector<float> clearColor() const { return Vector<float>(); } 42 void setClearColor(const Vector<float>&) { } 43 }; 44 // FIXME: WebGPU - End stub. 53 45 54 class GPUDevice : public RefCounted<GPUDevice>{46 class WebGPURenderPassColorAttachmentDescriptor : public WebGPURenderPassAttachmentDescriptor { 55 47 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();48 virtual ~WebGPURenderPassColorAttachmentDescriptor(); 49 static Ref<WebGPURenderPassColorAttachmentDescriptor> create(WebGPURenderingContext*, GPURenderPassColorAttachmentDescriptor*); 58 50 59 void reshape(int width, int height); 51 Vector<float> clearColor() const; 52 void setClearColor(const Vector<float>&); 60 53 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 54 GPURenderPassColorAttachmentDescriptor* renderPassColorAttachmentDescriptor() const; 65 55 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 56 bool isColorAttachmentDescriptor() const override { return true; } 71 57 72 58 private: 73 GPUDevice();59 WebGPURenderPassColorAttachmentDescriptor(WebGPURenderingContext*, GPURenderPassColorAttachmentDescriptor*); 74 60 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 61 }; 80 62 81 63 } // namespace WebCore 82 64 -
trunk/Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Conditional=WEBGPU, 28 EnabledAtRuntime=WebGPU 29 ] interface WebGPURenderPassColorAttachmentDescriptor : WebGPURenderPassAttachmentDescriptor { 27 30 28 #if ENABLE(WEBGPU) 31 attribute sequence<float> clearColor; 29 32 30 #include "PlatformLayer.h"31 #include <runtime/ArrayBufferView.h>32 #include <wtf/RefCounted.h>33 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 33 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 30 #include "WebGPUObject.h" 31 #include "WebGPURenderPassAttachmentDescriptor.h" 46 32 47 33 namespace WebCore { 48 34 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 35 // FIXME: WebGPU - Stub implementation - not implemented yet. 36 // class GPURenderPassDepthAttachmentDescriptor; 37 class GPURenderPassDepthAttachmentDescriptor : public GPURenderPassAttachmentDescriptor { 38 public: 39 double clearDepth() const { return 0; } 40 void setClearDepth(double) { } 41 }; 42 // FIXME: WebGPU - End stub. 53 43 54 class GPUDevice : public RefCounted<GPUDevice>{44 class WebGPURenderPassDepthAttachmentDescriptor : public WebGPURenderPassAttachmentDescriptor { 55 45 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();46 virtual ~WebGPURenderPassDepthAttachmentDescriptor(); 47 static Ref<WebGPURenderPassDepthAttachmentDescriptor> create(WebGPURenderingContext*, GPURenderPassDepthAttachmentDescriptor*); 58 48 59 void reshape(int width, int height); 49 double clearDepth() const; 50 void setClearDepth(double); 60 51 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 65 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 52 GPURenderPassDepthAttachmentDescriptor* renderPassDepthAttachmentDescriptor() const; 71 53 72 54 private: 73 GPUDevice();55 WebGPURenderPassDepthAttachmentDescriptor(WebGPURenderingContext*, GPURenderPassDepthAttachmentDescriptor*); 74 56 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 57 }; 80 58 81 59 } // namespace WebCore 82 60 -
trunk/Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Conditional=WEBGPU, 28 EnabledAtRuntime=WebGPU 29 ] interface WebGPURenderPassDepthAttachmentDescriptor : WebGPURenderPassAttachmentDescriptor { 27 30 28 #if ENABLE(WEBGPU) 31 attribute unrestricted double clearDepth; 29 32 30 #include "PlatformLayer.h"31 #include <runtime/ArrayBufferView.h>32 #include <wtf/RefCounted.h>33 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 33 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPURenderPassDescriptor.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Constructor, 28 Conditional=WEBGPU, 29 EnabledAtRuntime=WebGPU 30 ] interface WebGPURenderPassDescriptor { 27 31 28 #if ENABLE(WEBGPU) 32 readonly attribute sequence<WebGPURenderPassColorAttachmentDescriptor> colorAttachments; 33 readonly attribute WebGPURenderPassDepthAttachmentDescriptor depthAttachment; 34 //readonly attribute WebGPURenderPassStencilAttachmentDescriptor stencilAttachment; 29 35 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 36 // renderTargetArrayLength 37 // visibilityResultBuffer 33 38 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 39 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.cpp
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 #include "config.h" 27 #include "WebGPURenderPipelineColorAttachmentDescriptor.h" 27 28 28 29 #if ENABLE(WEBGPU) 29 30 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 31 /* FIXME: WebGPU - Not implemented yet. 32 #include "GPURenderPipelineColorAttachmentDescriptor.h" 33 */ 34 #include "WebGPURenderingContext.h" 46 35 47 36 namespace WebCore { 48 37 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture;52 class GPUTextureDescriptor; 38 Ref<WebGPURenderPipelineColorAttachmentDescriptor> WebGPURenderPipelineColorAttachmentDescriptor::create(WebGPURenderingContext* context, GPURenderPipelineColorAttachmentDescriptor* descriptor) 39 { 40 return adoptRef(*new WebGPURenderPipelineColorAttachmentDescriptor(context, descriptor)); 41 } 53 42 54 class GPUDevice : public RefCounted<GPUDevice> { 55 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 43 WebGPURenderPipelineColorAttachmentDescriptor::WebGPURenderPipelineColorAttachmentDescriptor(WebGPURenderingContext* context, GPURenderPipelineColorAttachmentDescriptor* descriptor) 44 : WebGPUObject(context) 45 , m_renderPipelineColorAttachmentDescriptor(descriptor) 46 { 47 } 58 48 59 void reshape(int width, int height); 49 WebGPURenderPipelineColorAttachmentDescriptor::~WebGPURenderPipelineColorAttachmentDescriptor() 50 { 51 } 60 52 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice();64 #endif 53 unsigned long WebGPURenderPipelineColorAttachmentDescriptor::pixelFormat() const 54 { 55 if (!m_renderPipelineColorAttachmentDescriptor) 56 return 0; // FIXME: probably a real value for unknown 65 57 66 WebGPULayer* layer() { return m_layer.get(); } 58 return m_renderPipelineColorAttachmentDescriptor->pixelFormat(); 59 } 67 60 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 61 void WebGPURenderPipelineColorAttachmentDescriptor::setPixelFormat(unsigned long newPixelFormat) 62 { 63 if (!m_renderPipelineColorAttachmentDescriptor) 64 return; 71 65 72 private: 73 GPUDevice(); 74 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 79 }; 66 m_renderPipelineColorAttachmentDescriptor->setPixelFormat(newPixelFormat); 67 } 80 68 81 69 } // namespace WebCore -
trunk/Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 30 #include "WebGPUObject.h" 33 31 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 32 47 33 namespace WebCore { 48 34 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 35 // FIXME: WebGPU - Stub implementation - not implemented yet. 36 // class GPURenderPipelineColorAttachmentDescriptor; 37 class GPURenderPipelineColorAttachmentDescriptor : public RefCounted<GPURenderPipelineColorAttachmentDescriptor> { 38 public: 39 unsigned long pixelFormat() const { return 0; } 40 void setPixelFormat(unsigned long) { } 41 }; 42 // FIXME: WebGPU - End stub. 53 43 54 class GPUDevice : public RefCounted<GPUDevice>{44 class WebGPURenderPipelineColorAttachmentDescriptor : public WebGPUObject { 55 45 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();46 virtual ~WebGPURenderPipelineColorAttachmentDescriptor(); 47 static Ref<WebGPURenderPipelineColorAttachmentDescriptor> create(WebGPURenderingContext*, GPURenderPipelineColorAttachmentDescriptor*); 58 48 59 void reshape(int width, int height); 49 unsigned long pixelFormat() const; 50 void setPixelFormat(unsigned long); 60 51 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 65 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 52 GPURenderPipelineColorAttachmentDescriptor* renderPipelineColorAttachmentDescriptor() { return m_renderPipelineColorAttachmentDescriptor.get(); } 71 53 72 54 private: 73 GPUDevice();55 WebGPURenderPipelineColorAttachmentDescriptor(WebGPURenderingContext*, GPURenderPipelineColorAttachmentDescriptor*); 74 56 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 57 RefPtr<GPURenderPipelineColorAttachmentDescriptor> m_renderPipelineColorAttachmentDescriptor; 79 58 }; 80 59 81 60 } // namespace WebCore 82 61 -
trunk/Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Conditional=WEBGPU, 28 EnabledAtRuntime=WebGPU 29 ] interface WebGPURenderPipelineColorAttachmentDescriptor { 27 30 28 #if ENABLE(WEBGPU) 31 attribute unsigned long pixelFormat; // should be MTLPixelFormat 29 32 30 #include "PlatformLayer.h"31 #include <runtime/ArrayBufferView.h>32 #include <wtf/RefCounted.h>33 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 33 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Constructor, 28 Conditional=WEBGPU, 29 EnabledAtRuntime=WebGPU 30 ] interface WebGPURenderPipelineDescriptor { 27 31 28 #if ENABLE(WEBGPU) 32 attribute DOMString label; 29 33 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 34 attribute WebGPUFunction? vertexFunction; 35 attribute WebGPUFunction? fragmentFunction; 33 36 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 readonly attribute sequence<WebGPURenderPipelineColorAttachmentDescriptor> colorAttachments; 37 38 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 39 attribute unsigned long depthAttachmentPixelFormat; 46 40 47 namespace WebCore { 41 void reset(); 48 42 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 43 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPURenderPipelineState.cpp
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 #include "config.h" 27 #include "WebGPURenderPipelineState.h" 27 28 28 29 #if ENABLE(WEBGPU) 29 30 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 31 /* FIXME: WebGPU - Not implemented yet.FIXME: WebGPU - Not implemented yet. 32 #include "GPURenderPipelineState.h" 33 */ 34 #include "WebGPURenderPipelineDescriptor.h" 35 #include "WebGPURenderingContext.h" 46 36 47 37 namespace WebCore { 48 38 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture;52 class GPUTextureDescriptor; 39 Ref<WebGPURenderPipelineState> WebGPURenderPipelineState::create(WebGPURenderingContext* context, WebGPURenderPipelineDescriptor* descriptor) 40 { 41 return adoptRef(*new WebGPURenderPipelineState(context, descriptor)); 42 } 53 43 54 class GPUDevice : public RefCounted<GPUDevice> { 55 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 44 WebGPURenderPipelineState::WebGPURenderPipelineState(WebGPURenderingContext* context, WebGPURenderPipelineDescriptor* descriptor) 45 : WebGPUObject(context) 46 { 47 if (!context || !descriptor) 48 return; 49 m_renderPipelineState = GPURenderPipelineState::create(context->device().get(), descriptor->renderPipelineDescriptor()); 50 } 58 51 59 void reshape(int width, int height); 52 WebGPURenderPipelineState::~WebGPURenderPipelineState() 53 { 54 } 60 55 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice();64 #endif 56 String WebGPURenderPipelineState::label() const 57 { 58 if (!m_renderPipelineState) 59 return emptyString(); 65 60 66 WebGPULayer* layer() { return m_layer.get(); } 61 return m_renderPipelineState->label(); 62 } 67 63 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 64 void WebGPURenderPipelineState::setLabel(const String& label) 65 { 66 if (!m_renderPipelineState) 67 return; 71 68 72 private: 73 GPUDevice(); 74 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 79 }; 69 m_renderPipelineState->setLabel(label); 70 } 80 71 81 72 } // namespace WebCore -
trunk/Source/WebCore/html/canvas/WebGPURenderPipelineState.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 30 #include "WebGPUObject.h" 33 31 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 32 #include <wtf/Vector.h> 46 33 47 34 namespace WebCore { 48 35 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture; 52 class GPUTextureDescriptor; 36 // FIXME: WebGPU - Stub implementation - not implemented yet. 37 // class GPURenderPipelineState; 38 class GPURenderPipelineDescriptor; 39 class GPURenderPipelineState : public RefCounted<GPURenderPipelineState> { 40 public: 41 static RefPtr<GPURenderPipelineState> create(GPUDevice*, GPURenderPipelineDescriptor*) { return nullptr; } 42 String label() const { return emptyString(); } 43 void setLabel(const String&) { } 44 }; 45 // FIXME: WebGPU - End stub. 53 46 54 class GPUDevice : public RefCounted<GPUDevice> { 47 class WebGPURenderPipelineDescriptor; 48 49 class WebGPURenderPipelineState : public WebGPUObject { 55 50 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();51 virtual ~WebGPURenderPipelineState(); 52 static Ref<WebGPURenderPipelineState> create(WebGPURenderingContext*, WebGPURenderPipelineDescriptor*); 58 53 59 void reshape(int width, int height); 54 String label() const; 55 void setLabel(const String&); 60 56 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 65 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 57 GPURenderPipelineState* renderPipelineState() { return m_renderPipelineState.get(); } 71 58 72 59 private: 73 GPUDevice();60 WebGPURenderPipelineState(WebGPURenderingContext*, WebGPURenderPipelineDescriptor*); 74 61 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 62 RefPtr<GPURenderPipelineState> m_renderPipelineState; 79 63 }; 80 64 81 65 } // namespace WebCore 82 66 -
trunk/Source/WebCore/html/canvas/WebGPURenderPipelineState.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Conditional=WEBGPU, 28 EnabledAtRuntime=WebGPU 29 ] interface WebGPURenderPipelineState { 27 30 28 #if ENABLE(WEBGPU) 31 attribute DOMString label; 29 32 30 #include "PlatformLayer.h"31 #include <runtime/ArrayBufferView.h>32 #include <wtf/RefCounted.h>33 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 33 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPUTexture.cpp
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 #include "config.h" 27 #include "WebGPUTexture.h" 27 28 28 29 #if ENABLE(WEBGPU) 29 30 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 31 #include "GPUTexture.h" 32 #include "WebGPURenderingContext.h" 33 #include "WebGPUTextureDescriptor.h" 46 34 47 35 namespace WebCore { 48 36 49 class GPUBuffer; 50 class GPULibrary; 51 class GPUTexture;52 class GPUTextureDescriptor; 37 Ref<WebGPUTexture> WebGPUTexture::createFromDrawableTexture(WebGPURenderingContext* context, PassRefPtr<GPUTexture> drawableTexture) 38 { 39 return adoptRef(*new WebGPUTexture(context, drawableTexture)); 40 } 53 41 54 class GPUDevice : public RefCounted<GPUDevice> { 55 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice(); 42 Ref<WebGPUTexture> WebGPUTexture::create(WebGPURenderingContext* context, WebGPUTextureDescriptor* descriptor) 43 { 44 return adoptRef(*new WebGPUTexture(context, descriptor)); 45 } 58 46 59 void reshape(int width, int height); 47 WebGPUTexture::WebGPUTexture(WebGPURenderingContext* context, PassRefPtr<GPUTexture> drawableTexture) 48 : WebGPUObject(context) 49 , m_texture(drawableTexture) 50 { 51 } 60 52 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 53 WebGPUTexture::WebGPUTexture(WebGPURenderingContext* context, WebGPUTextureDescriptor* descriptor) 54 : WebGPUObject(context) 55 { 56 m_texture = context->device()->createTexture(descriptor->textureDescriptor()); 57 } 65 58 66 WebGPULayer* layer() { return m_layer.get(); } 59 WebGPUTexture::~WebGPUTexture() 60 { 61 } 67 62 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 63 unsigned long WebGPUTexture::width() const 64 { 65 if (!m_texture) 66 return 0; 67 68 return m_texture->width(); 69 } 71 70 72 private: 73 GPUDevice(); 71 unsigned long WebGPUTexture::height() const 72 { 73 if (!m_texture) 74 return 0; 74 75 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 79 }; 76 return m_texture->height(); 77 } 80 78 81 79 } // namespace WebCore -
trunk/Source/WebCore/html/canvas/WebGPUTexture.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 33 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 30 #include "WebGPUObject.h" 46 31 47 32 namespace WebCore { 48 33 49 class GPUBuffer;50 class GPULibrary;51 34 class GPUTexture; 52 class GPUTextureDescriptor;35 class WebGPUTextureDescriptor; 53 36 54 class GPUDevice : public RefCounted<GPUDevice>{37 class WebGPUTexture : public WebGPUObject { 55 38 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create(); 57 WEBCORE_EXPORT ~GPUDevice(); 39 virtual ~WebGPUTexture(); 40 static Ref<WebGPUTexture> createFromDrawableTexture(WebGPURenderingContext*, PassRefPtr<GPUTexture>); 41 static Ref<WebGPUTexture> create(WebGPURenderingContext*, WebGPUTextureDescriptor*); 58 42 59 void reshape(int width, int height); 43 unsigned long width() const; 44 unsigned long height() const; 60 45 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 65 66 WebGPULayer* layer() { return m_layer.get(); } 67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 46 GPUTexture* texture() const { return m_texture.get(); } 71 47 72 48 private: 73 GPUDevice(); 49 WebGPUTexture(WebGPURenderingContext*, PassRefPtr<GPUTexture>); 50 WebGPUTexture(WebGPURenderingContext*, WebGPUTextureDescriptor*); 74 51 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 52 RefPtr<GPUTexture> m_texture; 79 53 }; 80 54 81 55 } // namespace WebCore 82 56 -
trunk/Source/WebCore/html/canvas/WebGPUTexture.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Conditional=WEBGPU, 28 EnabledAtRuntime=WebGPU 29 ] interface WebGPUTexture { 27 30 28 #if ENABLE(WEBGPU) 31 readonly attribute unsigned long width; 32 readonly attribute unsigned long height; 29 33 30 #include "PlatformLayer.h"31 #include <runtime/ArrayBufferView.h>32 #include <wtf/RefCounted.h>33 34 #if USE(CA)35 #include "PlatformCALayer.h"36 #endif37 38 #if PLATFORM(COCOA)39 typedef struct objc_object* id;40 OBJC_CLASS CALayer;41 OBJC_CLASS WebGPULayer;42 #else43 class WebGPULayer;44 typedef void PlatformGPUDevice;45 #endif46 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 34 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/html/canvas/WebGPUTextureDescriptor.h
r213761 r213762 28 28 #if ENABLE(WEBGPU) 29 29 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 30 #include "WebGPUEnums.h" 31 #include "WebGPUObject.h" 33 32 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 37 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 33 #include <wtf/Vector.h> 46 34 47 35 namespace WebCore { 48 36 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 37 class GPUTextureDescriptor; 53 38 54 class GPUDevice : public RefCounted<GPUDevice>{39 class WebGPUTextureDescriptor : public WebGPUObject { 55 40 public: 56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();41 virtual ~WebGPUTextureDescriptor(); 42 static Ref<WebGPUTextureDescriptor> create(unsigned long pixelFormat, unsigned long width, unsigned long height, bool mipmapped); 58 43 59 void reshape(int width, int height); 44 unsigned long width() const; 45 void setWidth(unsigned long); 60 46 61 #if PLATFORM(COCOA) 62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); } 63 WEBCORE_EXPORT id platformDevice(); 64 #endif 47 unsigned long height() const; 48 void setHeight(unsigned long); 65 49 66 WebGPULayer* layer() { return m_layer.get(); } 50 unsigned long sampleCount() const; 51 void setSampleCount(unsigned long); 67 52 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 53 unsigned long textureType() const; 54 void setTextureType(unsigned long); 55 56 unsigned long storageMode() const; 57 void setStorageMode(unsigned long); 58 59 unsigned long usage() const; 60 void setUsage(unsigned long); 61 62 GPUTextureDescriptor* textureDescriptor() { return m_textureDescriptor.get(); } 71 63 72 64 private: 73 GPUDevice();65 WebGPUTextureDescriptor(unsigned long pixelFormat, unsigned long width, unsigned long height, bool mipmapped); 74 66 75 RetainPtr<WebGPULayer> m_layer; 76 #if PLATFORM(COCOA) 77 RetainPtr<id> m_device; 78 #endif 67 RefPtr<GPUTextureDescriptor> m_textureDescriptor; 79 68 }; 80 69 -
trunk/Source/WebCore/html/canvas/WebGPUTextureDescriptor.idl
r213761 r213762 24 24 */ 25 25 26 #pragma once 26 [ 27 Constructor(unsigned long pixelFormat, unsigned long width, unsigned long height, boolean mipmapped), 28 Conditional=WEBGPU, 29 EnabledAtRuntime=WebGPU 30 ] interface WebGPUTextureDescriptor { 27 31 28 #if ENABLE(WEBGPU) 32 attribute unsigned long textureType; 29 33 30 #include "PlatformLayer.h" 31 #include <runtime/ArrayBufferView.h> 32 #include <wtf/RefCounted.h> 34 attribute unsigned long width; 35 attribute unsigned long height; 36 attribute unsigned long sampleCount; 33 37 34 #if USE(CA) 35 #include "PlatformCALayer.h" 36 #endif 38 attribute unsigned long storageMode; 37 39 38 #if PLATFORM(COCOA) 39 typedef struct objc_object* id; 40 OBJC_CLASS CALayer; 41 OBJC_CLASS WebGPULayer; 42 #else 43 class WebGPULayer; 44 typedef void PlatformGPUDevice; 45 #endif 40 attribute unsigned long usage; 46 41 47 namespace WebCore {48 49 class GPUBuffer;50 class GPULibrary;51 class GPUTexture;52 class GPUTextureDescriptor;53 54 class GPUDevice : public RefCounted<GPUDevice> {55 public:56 WEBCORE_EXPORT static RefPtr<GPUDevice> create();57 WEBCORE_EXPORT ~GPUDevice();58 59 void reshape(int width, int height);60 61 #if PLATFORM(COCOA)62 CALayer* platformLayer() const { return reinterpret_cast<CALayer*>(m_layer.get()); }63 WEBCORE_EXPORT id platformDevice();64 #endif65 66 WebGPULayer* layer() { return m_layer.get(); }67 68 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode);69 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data);70 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*);71 72 private:73 GPUDevice();74 75 RetainPtr<WebGPULayer> m_layer;76 #if PLATFORM(COCOA)77 RetainPtr<id> m_device;78 #endif79 42 }; 80 81 } // namespace WebCore82 83 #endif -
trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h
r213731 r213762 48 48 49 49 class GPUBuffer; 50 // FIXME: WebGPU - Stub implementation - not implemented yet. 51 class GPUCommandQueue; 52 class GPUDrawable; 53 // FIXME: WebGPU - End stub. 50 54 class GPULibrary; 51 55 class GPUTexture; … … 70 74 WEBCORE_EXPORT RefPtr<GPUTexture> createTexture(GPUTextureDescriptor*); 71 75 76 // FIXME: WebGPU - Stub implementation - not implemented yet. 77 GPUCommandQueue* createCommandQueue() { return nullptr; } 78 GPUDrawable* getFramebuffer() { return nullptr; } 79 void markLayerComposited() { } 80 // FIXME: WebGPU - End stub. 81 72 82 private: 73 83 GPUDevice();
Note: See TracChangeset
for help on using the changeset viewer.