⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 285831 in webkit


Ignore:
Timestamp:
Nov 15, 2021, 2:06:19 PM (5 years ago)
Author:
mmaxfield@apple.com
Message:

[WebGPU] [Cocoa] Connect WebCore & PAL to WebGPU.framework
https://bugs.webkit.org/show_bug.cgi?id=233106

Reviewed by Dean Jackson.

This adds an implementation of WebGPU's virtual interfaces on top of WebGPU.framework.
That framework's headers almost exactly match the WebGPU API, so the connections are
mostly mechanical. There's just a bunch of marshalling code to convert between
descriptor and structs from WebCore's interface to WebGPU.framework's
descriptors/structs.

This uses the same "convertToBacking" convention, where functions that convert from the
higher-level WebCore types to the lower-level WebGPU.framework types are named
"convertToBacking()". Unfortunately, the WebGPU API takes many of these structs by
non-const reference, and the structs are nested by non-const reference, which means I
can't just have simple 1-in-1-out converter functions for every struct, since the
inner structs have to be referenced by-reference and therefore have to be in-scope. This
means that the simple enum and flags types use convertToBacking(), but most of the
structs have to be converted at their use site. Luckily, almost all of these structs
only have a single use site, so there isn't much duplication.

For now, this implementation is Cocoa-only, because in order for these calls to
WebGPU.framework to be legal, WebCore has to link with an implementation of those
functions. The Cocoa ports are the only ones which actually have an implementation of
those functions, so those are the only ports which can actually compile this code. If
the other ports want to link with Dawn or WGPU, this code should be (mostly) usable
out-of-the-box for them. I say "mostly" because the header that's shared between Dawn,
WGPU, and WebGPU.framework isn't finalized yet. As such, this implementation relies on
functions from WebGPUExt.h, which is an additional header (that only exists in
WebGPU.framework) that adds the missing pieces.

  • PAL.xcodeproj/project.pbxproj:
  • pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.cpp: Added.

(PAL::WebGPU::adapterName):
(PAL::WebGPU::supportedFeatures):
(PAL::WebGPU::supportedLimits):
(PAL::WebGPU::isFallbackAdapter):
(PAL::WebGPU::AdapterImpl::AdapterImpl):
(PAL::WebGPU::AdapterImpl::~AdapterImpl):
(PAL::WebGPU::requestDeviceCallback):
(PAL::WebGPU::AdapterImpl::requestDevice):
(PAL::WebGPU::AdapterImpl::requestDeviceCallback):

  • pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUBindGroupImpl.cpp: Added.

(PAL::WebGPU::BindGroupImpl::BindGroupImpl):
(PAL::WebGPU::BindGroupImpl::~BindGroupImpl):
(PAL::WebGPU::BindGroupImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUBindGroupImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUBindGroupLayoutImpl.cpp: Added.

(PAL::WebGPU::BindGroupLayoutImpl::BindGroupLayoutImpl):
(PAL::WebGPU::BindGroupLayoutImpl::~BindGroupLayoutImpl):
(PAL::WebGPU::BindGroupLayoutImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUBindGroupLayoutImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUBufferImpl.cpp: Added.

(PAL::WebGPU::BufferImpl::BufferImpl):
(PAL::WebGPU::BufferImpl::~BufferImpl):
(PAL::WebGPU::mapCallback):
(PAL::WebGPU::BufferImpl::mapAsync):
(PAL::WebGPU::BufferImpl::mapCallback):
(PAL::WebGPU::BufferImpl::getMappedRange):
(PAL::WebGPU::BufferImpl::unmap):
(PAL::WebGPU::BufferImpl::destroy):
(PAL::WebGPU::BufferImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUBufferImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUCommandBufferImpl.cpp: Added.

(PAL::WebGPU::CommandBufferImpl::CommandBufferImpl):
(PAL::WebGPU::CommandBufferImpl::~CommandBufferImpl):
(PAL::WebGPU::CommandBufferImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUCommandBufferImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUCommandEncoderImpl.cpp: Added.

(PAL::WebGPU::CommandEncoderImpl::CommandEncoderImpl):
(PAL::WebGPU::CommandEncoderImpl::~CommandEncoderImpl):
(PAL::WebGPU::CommandEncoderImpl::beginRenderPass):
(PAL::WebGPU::CommandEncoderImpl::beginComputePass):
(PAL::WebGPU::CommandEncoderImpl::copyBufferToBuffer):
(PAL::WebGPU::CommandEncoderImpl::copyBufferToTexture):
(PAL::WebGPU::CommandEncoderImpl::copyTextureToBuffer):
(PAL::WebGPU::CommandEncoderImpl::copyTextureToTexture):
(PAL::WebGPU::CommandEncoderImpl::fillBuffer):
(PAL::WebGPU::CommandEncoderImpl::pushDebugGroup):
(PAL::WebGPU::CommandEncoderImpl::popDebugGroup):
(PAL::WebGPU::CommandEncoderImpl::insertDebugMarker):
(PAL::WebGPU::CommandEncoderImpl::writeTimestamp):
(PAL::WebGPU::CommandEncoderImpl::resolveQuerySet):
(PAL::WebGPU::CommandEncoderImpl::finish):
(PAL::WebGPU::CommandEncoderImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUCommandEncoderImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUComputePassEncoderImpl.cpp: Added.

(PAL::WebGPU::ComputePassEncoderImpl::ComputePassEncoderImpl):
(PAL::WebGPU::ComputePassEncoderImpl::~ComputePassEncoderImpl):
(PAL::WebGPU::ComputePassEncoderImpl::setPipeline):
(PAL::WebGPU::ComputePassEncoderImpl::dispatch):
(PAL::WebGPU::ComputePassEncoderImpl::dispatchIndirect):
(PAL::WebGPU::ComputePassEncoderImpl::beginPipelineStatisticsQuery):
(PAL::WebGPU::ComputePassEncoderImpl::endPipelineStatisticsQuery):
(PAL::WebGPU::ComputePassEncoderImpl::endPass):
(PAL::WebGPU::ComputePassEncoderImpl::setBindGroup):
(PAL::WebGPU::ComputePassEncoderImpl::pushDebugGroup):
(PAL::WebGPU::ComputePassEncoderImpl::popDebugGroup):
(PAL::WebGPU::ComputePassEncoderImpl::insertDebugMarker):
(PAL::WebGPU::ComputePassEncoderImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUComputePassEncoderImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUComputePipelineImpl.cpp: Added.

(PAL::WebGPU::ComputePipelineImpl::ComputePipelineImpl):
(PAL::WebGPU::ComputePipelineImpl::~ComputePipelineImpl):
(PAL::WebGPU::ComputePipelineImpl::getBindGroupLayout):
(PAL::WebGPU::ComputePipelineImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUComputePipelineImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUConvertToBacking.cpp: Added.

(PAL::WebGPU::convertToBacking):
(PAL::WebGPU::convertBufferUsageFlagsToBacking):
(PAL::WebGPU::convertColorWriteFlagsToBacking):
(PAL::WebGPU::convertMapModeFlagsToBacking):
(PAL::WebGPU::convertShaderStageFlagsToBacking):
(PAL::WebGPU::convertTextureUsageFlagsToBacking):

  • pal/graphics/WebGPU/Impl/WebGPUConvertToBacking.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp: Added.

(PAL::WebGPU::DeviceImpl::DeviceImpl):
(PAL::WebGPU::DeviceImpl::~DeviceImpl):
(PAL::WebGPU::DeviceImpl::destroy):
(PAL::WebGPU::DeviceImpl::createBuffer):
(PAL::WebGPU::DeviceImpl::createTexture):
(PAL::WebGPU::DeviceImpl::createSampler):
(PAL::WebGPU::DeviceImpl::importExternalTexture):
(PAL::WebGPU::DeviceImpl::createBindGroupLayout):
(PAL::WebGPU::DeviceImpl::createPipelineLayout):
(PAL::WebGPU::DeviceImpl::createBindGroup):
(PAL::WebGPU::DeviceImpl::createShaderModule):
(PAL::WebGPU::convertToBacking):
(PAL::WebGPU::DeviceImpl::createComputePipeline):
(PAL::WebGPU::DeviceImpl::createRenderPipeline):
(PAL::WebGPU::createComputePipelineAsyncCallback):
(PAL::WebGPU::DeviceImpl::createComputePipelineAsync):
(PAL::WebGPU::DeviceImpl::createComputePipelineAsyncCallback):
(PAL::WebGPU::createRenderPipelineAsyncCallback):
(PAL::WebGPU::DeviceImpl::createRenderPipelineAsync):
(PAL::WebGPU::DeviceImpl::createRenderPipelineAsyncCallback):
(PAL::WebGPU::DeviceImpl::createCommandEncoder):
(PAL::WebGPU::DeviceImpl::createRenderBundleEncoder):
(PAL::WebGPU::DeviceImpl::createQuerySet):
(PAL::WebGPU::DeviceImpl::pushErrorScope):
(PAL::WebGPU::popErrorScopeCallback):
(PAL::WebGPU::DeviceImpl::popErrorScope):
(PAL::WebGPU::DeviceImpl::popErrorScopeCallback):
(PAL::WebGPU::DeviceImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUExternalTextureImpl.cpp: Added.

(PAL::WebGPU::ExternalTextureImpl::ExternalTextureImpl):
(PAL::WebGPU::ExternalTextureImpl::~ExternalTextureImpl):
(PAL::WebGPU::ExternalTextureImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUExternalTextureImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUImpl.cpp: Added.

(PAL::WebGPU::GPUImpl::GPUImpl):
(PAL::WebGPU::GPUImpl::~GPUImpl):
(PAL::WebGPU::requestAdapterCallback):
(PAL::WebGPU::GPUImpl::requestAdapter):
(PAL::WebGPU::GPUImpl::requestAdapterCallback):

  • pal/graphics/WebGPU/Impl/WebGPUImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUPipelineLayoutImpl.cpp: Added.

(PAL::WebGPU::PipelineLayoutImpl::PipelineLayoutImpl):
(PAL::WebGPU::PipelineLayoutImpl::~PipelineLayoutImpl):
(PAL::WebGPU::PipelineLayoutImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUPipelineLayoutImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUQuerySetImpl.cpp: Added.

(PAL::WebGPU::QuerySetImpl::QuerySetImpl):
(PAL::WebGPU::QuerySetImpl::~QuerySetImpl):
(PAL::WebGPU::QuerySetImpl::destroy):
(PAL::WebGPU::QuerySetImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUQuerySetImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUQueueImpl.cpp: Added.

(PAL::WebGPU::QueueImpl::QueueImpl):
(PAL::WebGPU::QueueImpl::~QueueImpl):
(PAL::WebGPU::QueueImpl::submit):
(PAL::WebGPU::onSubmittedWorkDoneCallback):
(PAL::WebGPU::QueueImpl::onSubmittedWorkDone):
(PAL::WebGPU::QueueImpl::onSubmittedWorkDoneCallback):
(PAL::WebGPU::QueueImpl::writeBuffer):
(PAL::WebGPU::QueueImpl::writeTexture):
(PAL::WebGPU::QueueImpl::copyExternalImageToTexture):
(PAL::WebGPU::QueueImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUQueueImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPURenderBundleEncoderImpl.cpp: Added.

(PAL::WebGPU::RenderBundleEncoderImpl::RenderBundleEncoderImpl):
(PAL::WebGPU::RenderBundleEncoderImpl::~RenderBundleEncoderImpl):
(PAL::WebGPU::RenderBundleEncoderImpl::setPipeline):
(PAL::WebGPU::RenderBundleEncoderImpl::setIndexBuffer):
(PAL::WebGPU::RenderBundleEncoderImpl::setVertexBuffer):
(PAL::WebGPU::RenderBundleEncoderImpl::draw):
(PAL::WebGPU::RenderBundleEncoderImpl::drawIndexed):
(PAL::WebGPU::RenderBundleEncoderImpl::drawIndirect):
(PAL::WebGPU::RenderBundleEncoderImpl::drawIndexedIndirect):
(PAL::WebGPU::RenderBundleEncoderImpl::setBindGroup):
(PAL::WebGPU::RenderBundleEncoderImpl::pushDebugGroup):
(PAL::WebGPU::RenderBundleEncoderImpl::popDebugGroup):
(PAL::WebGPU::RenderBundleEncoderImpl::insertDebugMarker):
(PAL::WebGPU::RenderBundleEncoderImpl::finish):
(PAL::WebGPU::RenderBundleEncoderImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPURenderBundleEncoderImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPURenderBundleImpl.cpp: Added.

(PAL::WebGPU::RenderBundleImpl::RenderBundleImpl):
(PAL::WebGPU::RenderBundleImpl::~RenderBundleImpl):
(PAL::WebGPU::RenderBundleImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPURenderBundleImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPURenderPassEncoderImpl.cpp: Added.

(PAL::WebGPU::RenderPassEncoderImpl::RenderPassEncoderImpl):
(PAL::WebGPU::RenderPassEncoderImpl::~RenderPassEncoderImpl):
(PAL::WebGPU::RenderPassEncoderImpl::setPipeline):
(PAL::WebGPU::RenderPassEncoderImpl::setIndexBuffer):
(PAL::WebGPU::RenderPassEncoderImpl::setVertexBuffer):
(PAL::WebGPU::RenderPassEncoderImpl::draw):
(PAL::WebGPU::RenderPassEncoderImpl::drawIndexed):
(PAL::WebGPU::RenderPassEncoderImpl::drawIndirect):
(PAL::WebGPU::RenderPassEncoderImpl::drawIndexedIndirect):
(PAL::WebGPU::RenderPassEncoderImpl::setBindGroup):
(PAL::WebGPU::RenderPassEncoderImpl::pushDebugGroup):
(PAL::WebGPU::RenderPassEncoderImpl::popDebugGroup):
(PAL::WebGPU::RenderPassEncoderImpl::insertDebugMarker):
(PAL::WebGPU::RenderPassEncoderImpl::setViewport):
(PAL::WebGPU::RenderPassEncoderImpl::setScissorRect):
(PAL::WebGPU::RenderPassEncoderImpl::setBlendConstant):
(PAL::WebGPU::RenderPassEncoderImpl::setStencilReference):
(PAL::WebGPU::RenderPassEncoderImpl::beginOcclusionQuery):
(PAL::WebGPU::RenderPassEncoderImpl::endOcclusionQuery):
(PAL::WebGPU::RenderPassEncoderImpl::beginPipelineStatisticsQuery):
(PAL::WebGPU::RenderPassEncoderImpl::endPipelineStatisticsQuery):
(PAL::WebGPU::RenderPassEncoderImpl::executeBundles):
(PAL::WebGPU::RenderPassEncoderImpl::endPass):
(PAL::WebGPU::RenderPassEncoderImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPURenderPassEncoderImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPURenderPipelineImpl.cpp: Added.

(PAL::WebGPU::RenderPipelineImpl::RenderPipelineImpl):
(PAL::WebGPU::RenderPipelineImpl::~RenderPipelineImpl):
(PAL::WebGPU::RenderPipelineImpl::getBindGroupLayout):
(PAL::WebGPU::RenderPipelineImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPURenderPipelineImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUSamplerImpl.cpp: Added.

(PAL::WebGPU::SamplerImpl::SamplerImpl):
(PAL::WebGPU::SamplerImpl::~SamplerImpl):
(PAL::WebGPU::SamplerImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUSamplerImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUShaderModuleImpl.cpp: Added.

(PAL::WebGPU::ShaderModuleImpl::ShaderModuleImpl):
(PAL::WebGPU::ShaderModuleImpl::~ShaderModuleImpl):
(PAL::WebGPU::ShaderModuleImpl::compilationInfo):
(PAL::WebGPU::ShaderModuleImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUShaderModuleImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUTextureImpl.cpp: Added.

(PAL::WebGPU::TextureImpl::TextureImpl):
(PAL::WebGPU::TextureImpl::~TextureImpl):
(PAL::WebGPU::TextureImpl::createView const):
(PAL::WebGPU::TextureImpl::destroy):
(PAL::WebGPU::TextureImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUTextureImpl.h: Added.
  • pal/graphics/WebGPU/Impl/WebGPUTextureViewImpl.cpp: Added.

(PAL::WebGPU::TextureViewImpl::TextureViewImpl):
(PAL::WebGPU::TextureViewImpl::~TextureViewImpl):
(PAL::WebGPU::TextureViewImpl::setLabelInternal):

  • pal/graphics/WebGPU/Impl/WebGPUTextureViewImpl.h: Added.
Location:
trunk/Source/WebCore/PAL
Files:
49 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/PAL/ChangeLog

    r285828 r285831  
     12021-11-15  Myles C. Maxfield  <mmaxfield@apple.com>
     2
     3        [WebGPU] [Cocoa] Connect WebCore & PAL to WebGPU.framework
     4        https://bugs.webkit.org/show_bug.cgi?id=233106
     5
     6        Reviewed by Dean Jackson.
     7
     8        This adds an implementation of WebGPU's virtual interfaces on top of WebGPU.framework.
     9        That framework's headers almost exactly match the WebGPU API, so the connections are
     10        mostly mechanical. There's just a bunch of marshalling code to convert between
     11        descriptor and structs from WebCore's interface to WebGPU.framework's
     12        descriptors/structs.
     13
     14        This uses the same "convertToBacking" convention, where functions that convert from the
     15        higher-level WebCore types to the lower-level WebGPU.framework types are named
     16        "convertToBacking()". Unfortunately, the WebGPU API takes many of these structs by
     17        non-const reference, and the structs are nested by non-const reference, which means I
     18        can't just have simple 1-in-1-out converter functions for every struct, since the
     19        inner structs have to be referenced by-reference and therefore have to be in-scope. This
     20        means that the simple enum and flags types use convertToBacking(), but most of the
     21        structs have to be converted at their use site. Luckily, almost all of these structs
     22        only have a single use site, so there isn't much duplication.
     23
     24        For now, this implementation is Cocoa-only, because in order for these calls to
     25        WebGPU.framework to be legal, WebCore has to link with an implementation of those
     26        functions. The Cocoa ports are the only ones which actually have an implementation of
     27        those functions, so those are the only ports which can actually compile this code. If
     28        the other ports want to link with Dawn or WGPU, this code should be (mostly) usable
     29        out-of-the-box for them. I say "mostly" because the header that's shared between Dawn,
     30        WGPU, and WebGPU.framework isn't finalized yet. As such, this implementation relies on
     31        functions from WebGPUExt.h, which is an additional header (that only exists in
     32        WebGPU.framework) that adds the missing pieces.
     33
     34        * PAL.xcodeproj/project.pbxproj:
     35        * pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.cpp: Added.
     36        (PAL::WebGPU::adapterName):
     37        (PAL::WebGPU::supportedFeatures):
     38        (PAL::WebGPU::supportedLimits):
     39        (PAL::WebGPU::isFallbackAdapter):
     40        (PAL::WebGPU::AdapterImpl::AdapterImpl):
     41        (PAL::WebGPU::AdapterImpl::~AdapterImpl):
     42        (PAL::WebGPU::requestDeviceCallback):
     43        (PAL::WebGPU::AdapterImpl::requestDevice):
     44        (PAL::WebGPU::AdapterImpl::requestDeviceCallback):
     45        * pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.h: Added.
     46        * pal/graphics/WebGPU/Impl/WebGPUBindGroupImpl.cpp: Added.
     47        (PAL::WebGPU::BindGroupImpl::BindGroupImpl):
     48        (PAL::WebGPU::BindGroupImpl::~BindGroupImpl):
     49        (PAL::WebGPU::BindGroupImpl::setLabelInternal):
     50        * pal/graphics/WebGPU/Impl/WebGPUBindGroupImpl.h: Added.
     51        * pal/graphics/WebGPU/Impl/WebGPUBindGroupLayoutImpl.cpp: Added.
     52        (PAL::WebGPU::BindGroupLayoutImpl::BindGroupLayoutImpl):
     53        (PAL::WebGPU::BindGroupLayoutImpl::~BindGroupLayoutImpl):
     54        (PAL::WebGPU::BindGroupLayoutImpl::setLabelInternal):
     55        * pal/graphics/WebGPU/Impl/WebGPUBindGroupLayoutImpl.h: Added.
     56        * pal/graphics/WebGPU/Impl/WebGPUBufferImpl.cpp: Added.
     57        (PAL::WebGPU::BufferImpl::BufferImpl):
     58        (PAL::WebGPU::BufferImpl::~BufferImpl):
     59        (PAL::WebGPU::mapCallback):
     60        (PAL::WebGPU::BufferImpl::mapAsync):
     61        (PAL::WebGPU::BufferImpl::mapCallback):
     62        (PAL::WebGPU::BufferImpl::getMappedRange):
     63        (PAL::WebGPU::BufferImpl::unmap):
     64        (PAL::WebGPU::BufferImpl::destroy):
     65        (PAL::WebGPU::BufferImpl::setLabelInternal):
     66        * pal/graphics/WebGPU/Impl/WebGPUBufferImpl.h: Added.
     67        * pal/graphics/WebGPU/Impl/WebGPUCommandBufferImpl.cpp: Added.
     68        (PAL::WebGPU::CommandBufferImpl::CommandBufferImpl):
     69        (PAL::WebGPU::CommandBufferImpl::~CommandBufferImpl):
     70        (PAL::WebGPU::CommandBufferImpl::setLabelInternal):
     71        * pal/graphics/WebGPU/Impl/WebGPUCommandBufferImpl.h: Added.
     72        * pal/graphics/WebGPU/Impl/WebGPUCommandEncoderImpl.cpp: Added.
     73        (PAL::WebGPU::CommandEncoderImpl::CommandEncoderImpl):
     74        (PAL::WebGPU::CommandEncoderImpl::~CommandEncoderImpl):
     75        (PAL::WebGPU::CommandEncoderImpl::beginRenderPass):
     76        (PAL::WebGPU::CommandEncoderImpl::beginComputePass):
     77        (PAL::WebGPU::CommandEncoderImpl::copyBufferToBuffer):
     78        (PAL::WebGPU::CommandEncoderImpl::copyBufferToTexture):
     79        (PAL::WebGPU::CommandEncoderImpl::copyTextureToBuffer):
     80        (PAL::WebGPU::CommandEncoderImpl::copyTextureToTexture):
     81        (PAL::WebGPU::CommandEncoderImpl::fillBuffer):
     82        (PAL::WebGPU::CommandEncoderImpl::pushDebugGroup):
     83        (PAL::WebGPU::CommandEncoderImpl::popDebugGroup):
     84        (PAL::WebGPU::CommandEncoderImpl::insertDebugMarker):
     85        (PAL::WebGPU::CommandEncoderImpl::writeTimestamp):
     86        (PAL::WebGPU::CommandEncoderImpl::resolveQuerySet):
     87        (PAL::WebGPU::CommandEncoderImpl::finish):
     88        (PAL::WebGPU::CommandEncoderImpl::setLabelInternal):
     89        * pal/graphics/WebGPU/Impl/WebGPUCommandEncoderImpl.h: Added.
     90        * pal/graphics/WebGPU/Impl/WebGPUComputePassEncoderImpl.cpp: Added.
     91        (PAL::WebGPU::ComputePassEncoderImpl::ComputePassEncoderImpl):
     92        (PAL::WebGPU::ComputePassEncoderImpl::~ComputePassEncoderImpl):
     93        (PAL::WebGPU::ComputePassEncoderImpl::setPipeline):
     94        (PAL::WebGPU::ComputePassEncoderImpl::dispatch):
     95        (PAL::WebGPU::ComputePassEncoderImpl::dispatchIndirect):
     96        (PAL::WebGPU::ComputePassEncoderImpl::beginPipelineStatisticsQuery):
     97        (PAL::WebGPU::ComputePassEncoderImpl::endPipelineStatisticsQuery):
     98        (PAL::WebGPU::ComputePassEncoderImpl::endPass):
     99        (PAL::WebGPU::ComputePassEncoderImpl::setBindGroup):
     100        (PAL::WebGPU::ComputePassEncoderImpl::pushDebugGroup):
     101        (PAL::WebGPU::ComputePassEncoderImpl::popDebugGroup):
     102        (PAL::WebGPU::ComputePassEncoderImpl::insertDebugMarker):
     103        (PAL::WebGPU::ComputePassEncoderImpl::setLabelInternal):
     104        * pal/graphics/WebGPU/Impl/WebGPUComputePassEncoderImpl.h: Added.
     105        * pal/graphics/WebGPU/Impl/WebGPUComputePipelineImpl.cpp: Added.
     106        (PAL::WebGPU::ComputePipelineImpl::ComputePipelineImpl):
     107        (PAL::WebGPU::ComputePipelineImpl::~ComputePipelineImpl):
     108        (PAL::WebGPU::ComputePipelineImpl::getBindGroupLayout):
     109        (PAL::WebGPU::ComputePipelineImpl::setLabelInternal):
     110        * pal/graphics/WebGPU/Impl/WebGPUComputePipelineImpl.h: Added.
     111        * pal/graphics/WebGPU/Impl/WebGPUConvertToBacking.cpp: Added.
     112        (PAL::WebGPU::convertToBacking):
     113        (PAL::WebGPU::convertBufferUsageFlagsToBacking):
     114        (PAL::WebGPU::convertColorWriteFlagsToBacking):
     115        (PAL::WebGPU::convertMapModeFlagsToBacking):
     116        (PAL::WebGPU::convertShaderStageFlagsToBacking):
     117        (PAL::WebGPU::convertTextureUsageFlagsToBacking):
     118        * pal/graphics/WebGPU/Impl/WebGPUConvertToBacking.h: Added.
     119        * pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp: Added.
     120        (PAL::WebGPU::DeviceImpl::DeviceImpl):
     121        (PAL::WebGPU::DeviceImpl::~DeviceImpl):
     122        (PAL::WebGPU::DeviceImpl::destroy):
     123        (PAL::WebGPU::DeviceImpl::createBuffer):
     124        (PAL::WebGPU::DeviceImpl::createTexture):
     125        (PAL::WebGPU::DeviceImpl::createSampler):
     126        (PAL::WebGPU::DeviceImpl::importExternalTexture):
     127        (PAL::WebGPU::DeviceImpl::createBindGroupLayout):
     128        (PAL::WebGPU::DeviceImpl::createPipelineLayout):
     129        (PAL::WebGPU::DeviceImpl::createBindGroup):
     130        (PAL::WebGPU::DeviceImpl::createShaderModule):
     131        (PAL::WebGPU::convertToBacking):
     132        (PAL::WebGPU::DeviceImpl::createComputePipeline):
     133        (PAL::WebGPU::DeviceImpl::createRenderPipeline):
     134        (PAL::WebGPU::createComputePipelineAsyncCallback):
     135        (PAL::WebGPU::DeviceImpl::createComputePipelineAsync):
     136        (PAL::WebGPU::DeviceImpl::createComputePipelineAsyncCallback):
     137        (PAL::WebGPU::createRenderPipelineAsyncCallback):
     138        (PAL::WebGPU::DeviceImpl::createRenderPipelineAsync):
     139        (PAL::WebGPU::DeviceImpl::createRenderPipelineAsyncCallback):
     140        (PAL::WebGPU::DeviceImpl::createCommandEncoder):
     141        (PAL::WebGPU::DeviceImpl::createRenderBundleEncoder):
     142        (PAL::WebGPU::DeviceImpl::createQuerySet):
     143        (PAL::WebGPU::DeviceImpl::pushErrorScope):
     144        (PAL::WebGPU::popErrorScopeCallback):
     145        (PAL::WebGPU::DeviceImpl::popErrorScope):
     146        (PAL::WebGPU::DeviceImpl::popErrorScopeCallback):
     147        (PAL::WebGPU::DeviceImpl::setLabelInternal):
     148        * pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.h: Added.
     149        * pal/graphics/WebGPU/Impl/WebGPUExternalTextureImpl.cpp: Added.
     150        (PAL::WebGPU::ExternalTextureImpl::ExternalTextureImpl):
     151        (PAL::WebGPU::ExternalTextureImpl::~ExternalTextureImpl):
     152        (PAL::WebGPU::ExternalTextureImpl::setLabelInternal):
     153        * pal/graphics/WebGPU/Impl/WebGPUExternalTextureImpl.h: Added.
     154        * pal/graphics/WebGPU/Impl/WebGPUImpl.cpp: Added.
     155        (PAL::WebGPU::GPUImpl::GPUImpl):
     156        (PAL::WebGPU::GPUImpl::~GPUImpl):
     157        (PAL::WebGPU::requestAdapterCallback):
     158        (PAL::WebGPU::GPUImpl::requestAdapter):
     159        (PAL::WebGPU::GPUImpl::requestAdapterCallback):
     160        * pal/graphics/WebGPU/Impl/WebGPUImpl.h: Added.
     161        * pal/graphics/WebGPU/Impl/WebGPUPipelineLayoutImpl.cpp: Added.
     162        (PAL::WebGPU::PipelineLayoutImpl::PipelineLayoutImpl):
     163        (PAL::WebGPU::PipelineLayoutImpl::~PipelineLayoutImpl):
     164        (PAL::WebGPU::PipelineLayoutImpl::setLabelInternal):
     165        * pal/graphics/WebGPU/Impl/WebGPUPipelineLayoutImpl.h: Added.
     166        * pal/graphics/WebGPU/Impl/WebGPUQuerySetImpl.cpp: Added.
     167        (PAL::WebGPU::QuerySetImpl::QuerySetImpl):
     168        (PAL::WebGPU::QuerySetImpl::~QuerySetImpl):
     169        (PAL::WebGPU::QuerySetImpl::destroy):
     170        (PAL::WebGPU::QuerySetImpl::setLabelInternal):
     171        * pal/graphics/WebGPU/Impl/WebGPUQuerySetImpl.h: Added.
     172        * pal/graphics/WebGPU/Impl/WebGPUQueueImpl.cpp: Added.
     173        (PAL::WebGPU::QueueImpl::QueueImpl):
     174        (PAL::WebGPU::QueueImpl::~QueueImpl):
     175        (PAL::WebGPU::QueueImpl::submit):
     176        (PAL::WebGPU::onSubmittedWorkDoneCallback):
     177        (PAL::WebGPU::QueueImpl::onSubmittedWorkDone):
     178        (PAL::WebGPU::QueueImpl::onSubmittedWorkDoneCallback):
     179        (PAL::WebGPU::QueueImpl::writeBuffer):
     180        (PAL::WebGPU::QueueImpl::writeTexture):
     181        (PAL::WebGPU::QueueImpl::copyExternalImageToTexture):
     182        (PAL::WebGPU::QueueImpl::setLabelInternal):
     183        * pal/graphics/WebGPU/Impl/WebGPUQueueImpl.h: Added.
     184        * pal/graphics/WebGPU/Impl/WebGPURenderBundleEncoderImpl.cpp: Added.
     185        (PAL::WebGPU::RenderBundleEncoderImpl::RenderBundleEncoderImpl):
     186        (PAL::WebGPU::RenderBundleEncoderImpl::~RenderBundleEncoderImpl):
     187        (PAL::WebGPU::RenderBundleEncoderImpl::setPipeline):
     188        (PAL::WebGPU::RenderBundleEncoderImpl::setIndexBuffer):
     189        (PAL::WebGPU::RenderBundleEncoderImpl::setVertexBuffer):
     190        (PAL::WebGPU::RenderBundleEncoderImpl::draw):
     191        (PAL::WebGPU::RenderBundleEncoderImpl::drawIndexed):
     192        (PAL::WebGPU::RenderBundleEncoderImpl::drawIndirect):
     193        (PAL::WebGPU::RenderBundleEncoderImpl::drawIndexedIndirect):
     194        (PAL::WebGPU::RenderBundleEncoderImpl::setBindGroup):
     195        (PAL::WebGPU::RenderBundleEncoderImpl::pushDebugGroup):
     196        (PAL::WebGPU::RenderBundleEncoderImpl::popDebugGroup):
     197        (PAL::WebGPU::RenderBundleEncoderImpl::insertDebugMarker):
     198        (PAL::WebGPU::RenderBundleEncoderImpl::finish):
     199        (PAL::WebGPU::RenderBundleEncoderImpl::setLabelInternal):
     200        * pal/graphics/WebGPU/Impl/WebGPURenderBundleEncoderImpl.h: Added.
     201        * pal/graphics/WebGPU/Impl/WebGPURenderBundleImpl.cpp: Added.
     202        (PAL::WebGPU::RenderBundleImpl::RenderBundleImpl):
     203        (PAL::WebGPU::RenderBundleImpl::~RenderBundleImpl):
     204        (PAL::WebGPU::RenderBundleImpl::setLabelInternal):
     205        * pal/graphics/WebGPU/Impl/WebGPURenderBundleImpl.h: Added.
     206        * pal/graphics/WebGPU/Impl/WebGPURenderPassEncoderImpl.cpp: Added.
     207        (PAL::WebGPU::RenderPassEncoderImpl::RenderPassEncoderImpl):
     208        (PAL::WebGPU::RenderPassEncoderImpl::~RenderPassEncoderImpl):
     209        (PAL::WebGPU::RenderPassEncoderImpl::setPipeline):
     210        (PAL::WebGPU::RenderPassEncoderImpl::setIndexBuffer):
     211        (PAL::WebGPU::RenderPassEncoderImpl::setVertexBuffer):
     212        (PAL::WebGPU::RenderPassEncoderImpl::draw):
     213        (PAL::WebGPU::RenderPassEncoderImpl::drawIndexed):
     214        (PAL::WebGPU::RenderPassEncoderImpl::drawIndirect):
     215        (PAL::WebGPU::RenderPassEncoderImpl::drawIndexedIndirect):
     216        (PAL::WebGPU::RenderPassEncoderImpl::setBindGroup):
     217        (PAL::WebGPU::RenderPassEncoderImpl::pushDebugGroup):
     218        (PAL::WebGPU::RenderPassEncoderImpl::popDebugGroup):
     219        (PAL::WebGPU::RenderPassEncoderImpl::insertDebugMarker):
     220        (PAL::WebGPU::RenderPassEncoderImpl::setViewport):
     221        (PAL::WebGPU::RenderPassEncoderImpl::setScissorRect):
     222        (PAL::WebGPU::RenderPassEncoderImpl::setBlendConstant):
     223        (PAL::WebGPU::RenderPassEncoderImpl::setStencilReference):
     224        (PAL::WebGPU::RenderPassEncoderImpl::beginOcclusionQuery):
     225        (PAL::WebGPU::RenderPassEncoderImpl::endOcclusionQuery):
     226        (PAL::WebGPU::RenderPassEncoderImpl::beginPipelineStatisticsQuery):
     227        (PAL::WebGPU::RenderPassEncoderImpl::endPipelineStatisticsQuery):
     228        (PAL::WebGPU::RenderPassEncoderImpl::executeBundles):
     229        (PAL::WebGPU::RenderPassEncoderImpl::endPass):
     230        (PAL::WebGPU::RenderPassEncoderImpl::setLabelInternal):
     231        * pal/graphics/WebGPU/Impl/WebGPURenderPassEncoderImpl.h: Added.
     232        * pal/graphics/WebGPU/Impl/WebGPURenderPipelineImpl.cpp: Added.
     233        (PAL::WebGPU::RenderPipelineImpl::RenderPipelineImpl):
     234        (PAL::WebGPU::RenderPipelineImpl::~RenderPipelineImpl):
     235        (PAL::WebGPU::RenderPipelineImpl::getBindGroupLayout):
     236        (PAL::WebGPU::RenderPipelineImpl::setLabelInternal):
     237        * pal/graphics/WebGPU/Impl/WebGPURenderPipelineImpl.h: Added.
     238        * pal/graphics/WebGPU/Impl/WebGPUSamplerImpl.cpp: Added.
     239        (PAL::WebGPU::SamplerImpl::SamplerImpl):
     240        (PAL::WebGPU::SamplerImpl::~SamplerImpl):
     241        (PAL::WebGPU::SamplerImpl::setLabelInternal):
     242        * pal/graphics/WebGPU/Impl/WebGPUSamplerImpl.h: Added.
     243        * pal/graphics/WebGPU/Impl/WebGPUShaderModuleImpl.cpp: Added.
     244        (PAL::WebGPU::ShaderModuleImpl::ShaderModuleImpl):
     245        (PAL::WebGPU::ShaderModuleImpl::~ShaderModuleImpl):
     246        (PAL::WebGPU::ShaderModuleImpl::compilationInfo):
     247        (PAL::WebGPU::ShaderModuleImpl::setLabelInternal):
     248        * pal/graphics/WebGPU/Impl/WebGPUShaderModuleImpl.h: Added.
     249        * pal/graphics/WebGPU/Impl/WebGPUTextureImpl.cpp: Added.
     250        (PAL::WebGPU::TextureImpl::TextureImpl):
     251        (PAL::WebGPU::TextureImpl::~TextureImpl):
     252        (PAL::WebGPU::TextureImpl::createView const):
     253        (PAL::WebGPU::TextureImpl::destroy):
     254        (PAL::WebGPU::TextureImpl::setLabelInternal):
     255        * pal/graphics/WebGPU/Impl/WebGPUTextureImpl.h: Added.
     256        * pal/graphics/WebGPU/Impl/WebGPUTextureViewImpl.cpp: Added.
     257        (PAL::WebGPU::TextureViewImpl::TextureViewImpl):
     258        (PAL::WebGPU::TextureViewImpl::~TextureViewImpl):
     259        (PAL::WebGPU::TextureViewImpl::setLabelInternal):
     260        * pal/graphics/WebGPU/Impl/WebGPUTextureViewImpl.h: Added.
     261
    12622021-11-15  Wenson Hsieh  <wenson_hsieh@apple.com>
    2263
  • trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj

    r285786 r285831  
    110110                1C09D0561E31C46500725F18 /* CryptoDigestCommonCrypto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C09D0551E31C46500725F18 /* CryptoDigestCommonCrypto.cpp */; };
    111111                1C09D0581E31C57E00725F18 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C09D0571E31C57E00725F18 /* config.h */; };
     112                1C19E644273F3E5D004B17B0 /* WebGPUImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E642273F3E5D004B17B0 /* WebGPUImpl.cpp */; };
     113                1C19E648273F3F82004B17B0 /* WebGPUAdapterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E646273F3F82004B17B0 /* WebGPUAdapterImpl.cpp */; };
     114                1C19E64C273F3F99004B17B0 /* WebGPUBindGroupImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E64A273F3F99004B17B0 /* WebGPUBindGroupImpl.cpp */; };
     115                1C19E650273F3FA5004B17B0 /* WebGPUBindGroupLayoutImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E64E273F3FA5004B17B0 /* WebGPUBindGroupLayoutImpl.cpp */; };
     116                1C19E654273F3FB1004B17B0 /* WebGPUBufferImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E652273F3FB1004B17B0 /* WebGPUBufferImpl.cpp */; };
     117                1C19E658273F3FC0004B17B0 /* WebGPUCommandBufferImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E656273F3FC0004B17B0 /* WebGPUCommandBufferImpl.cpp */; };
     118                1C19E65C273F3FD2004B17B0 /* WebGPUCommandEncoderImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E65A273F3FD2004B17B0 /* WebGPUCommandEncoderImpl.cpp */; };
     119                1C19E660273F3FE2004B17B0 /* WebGPUComputePassEncoderImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E65E273F3FE2004B17B0 /* WebGPUComputePassEncoderImpl.cpp */; };
     120                1C19E664273F3FEE004B17B0 /* WebGPUComputePipelineImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E662273F3FEE004B17B0 /* WebGPUComputePipelineImpl.cpp */; };
     121                1C19E668273F3FFA004B17B0 /* WebGPUDeviceImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E666273F3FFA004B17B0 /* WebGPUDeviceImpl.cpp */; };
     122                1C19E670273F4014004B17B0 /* WebGPUPipelineLayoutImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E66E273F4014004B17B0 /* WebGPUPipelineLayoutImpl.cpp */; };
     123                1C19E674273F4020004B17B0 /* WebGPUQuerySetImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E672273F4020004B17B0 /* WebGPUQuerySetImpl.cpp */; };
     124                1C19E678273F402B004B17B0 /* WebGPUQueueImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E676273F402B004B17B0 /* WebGPUQueueImpl.cpp */; };
     125                1C19E67C273F403A004B17B0 /* WebGPURenderBundleImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E67A273F403A004B17B0 /* WebGPURenderBundleImpl.cpp */; };
     126                1C19E680273F4044004B17B0 /* WebGPURenderBundleEncoderImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E67E273F4044004B17B0 /* WebGPURenderBundleEncoderImpl.cpp */; };
     127                1C19E684273F4050004B17B0 /* WebGPURenderPassEncoderImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E682273F4050004B17B0 /* WebGPURenderPassEncoderImpl.cpp */; };
     128                1C19E688273F405D004B17B0 /* WebGPURenderPipelineImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E686273F405D004B17B0 /* WebGPURenderPipelineImpl.cpp */; };
     129                1C19E68C273F4069004B17B0 /* WebGPUSamplerImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E68A273F4069004B17B0 /* WebGPUSamplerImpl.cpp */; };
     130                1C19E690273F4072004B17B0 /* WebGPUShaderModuleImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E68E273F4071004B17B0 /* WebGPUShaderModuleImpl.cpp */; };
     131                1C19E694273F407D004B17B0 /* WebGPUTextureImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E692273F407D004B17B0 /* WebGPUTextureImpl.cpp */; };
     132                1C19E698273F408B004B17B0 /* WebGPUTextureViewImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E696273F408B004B17B0 /* WebGPUTextureViewImpl.cpp */; };
     133                1C19E6B5273F85AF004B17B0 /* WebGPUConvertToBackingContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E6B4273F85AF004B17B0 /* WebGPUConvertToBackingContext.cpp */; };
     134                1C19E6BA27405E32004B17B0 /* WebGPUExternalTextureImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E6B927405E32004B17B0 /* WebGPUExternalTextureImpl.cpp */; };
     135                1C36C52E2743011A006DA4C1 /* WebGPUDowncastConvertToBackingContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C36C52C2743011A006DA4C1 /* WebGPUDowncastConvertToBackingContext.cpp */; };
     136                1C36C52F2743011A006DA4C1 /* WebGPUDowncastConvertToBackingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C36C52D2743011A006DA4C1 /* WebGPUDowncastConvertToBackingContext.h */; };
    112137                1C4876D81F8D7F4E00CCEEBD /* Logging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C4876D61F8D7F4E00CCEEBD /* Logging.cpp */; };
    113138                1C4876D91F8D7F4E00CCEEBD /* Logging.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C4876D71F8D7F4E00CCEEBD /* Logging.h */; };
     
    460485                1C09D0621E31EC2800725F18 /* DebugRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = DebugRelease.xcconfig; sourceTree = "<group>"; };
    461486                1C09D0631E31EC3100725F18 /* Base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = "<group>"; };
     487                1C19E642273F3E5D004B17B0 /* WebGPUImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUImpl.cpp; sourceTree = "<group>"; };
     488                1C19E646273F3F82004B17B0 /* WebGPUAdapterImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUAdapterImpl.cpp; sourceTree = "<group>"; };
     489                1C19E64A273F3F99004B17B0 /* WebGPUBindGroupImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUBindGroupImpl.cpp; sourceTree = "<group>"; };
     490                1C19E64E273F3FA5004B17B0 /* WebGPUBindGroupLayoutImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUBindGroupLayoutImpl.cpp; sourceTree = "<group>"; };
     491                1C19E652273F3FB1004B17B0 /* WebGPUBufferImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUBufferImpl.cpp; sourceTree = "<group>"; };
     492                1C19E656273F3FC0004B17B0 /* WebGPUCommandBufferImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUCommandBufferImpl.cpp; sourceTree = "<group>"; };
     493                1C19E65A273F3FD2004B17B0 /* WebGPUCommandEncoderImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUCommandEncoderImpl.cpp; sourceTree = "<group>"; };
     494                1C19E65E273F3FE2004B17B0 /* WebGPUComputePassEncoderImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUComputePassEncoderImpl.cpp; sourceTree = "<group>"; };
     495                1C19E662273F3FEE004B17B0 /* WebGPUComputePipelineImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUComputePipelineImpl.cpp; sourceTree = "<group>"; };
     496                1C19E666273F3FFA004B17B0 /* WebGPUDeviceImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUDeviceImpl.cpp; sourceTree = "<group>"; };
     497                1C19E66E273F4014004B17B0 /* WebGPUPipelineLayoutImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUPipelineLayoutImpl.cpp; sourceTree = "<group>"; };
     498                1C19E672273F4020004B17B0 /* WebGPUQuerySetImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUQuerySetImpl.cpp; sourceTree = "<group>"; };
     499                1C19E676273F402B004B17B0 /* WebGPUQueueImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUQueueImpl.cpp; sourceTree = "<group>"; };
     500                1C19E67A273F403A004B17B0 /* WebGPURenderBundleImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderBundleImpl.cpp; sourceTree = "<group>"; };
     501                1C19E67E273F4044004B17B0 /* WebGPURenderBundleEncoderImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderBundleEncoderImpl.cpp; sourceTree = "<group>"; };
     502                1C19E682273F4050004B17B0 /* WebGPURenderPassEncoderImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPassEncoderImpl.cpp; sourceTree = "<group>"; };
     503                1C19E686273F405D004B17B0 /* WebGPURenderPipelineImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPipelineImpl.cpp; sourceTree = "<group>"; };
     504                1C19E68A273F4069004B17B0 /* WebGPUSamplerImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUSamplerImpl.cpp; sourceTree = "<group>"; };
     505                1C19E68E273F4071004B17B0 /* WebGPUShaderModuleImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUShaderModuleImpl.cpp; sourceTree = "<group>"; };
     506                1C19E692273F407D004B17B0 /* WebGPUTextureImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUTextureImpl.cpp; sourceTree = "<group>"; };
     507                1C19E696273F408B004B17B0 /* WebGPUTextureViewImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUTextureViewImpl.cpp; sourceTree = "<group>"; };
     508                1C19E69A273F4242004B17B0 /* WebGPURenderBundleEncoderImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPURenderBundleEncoderImpl.h; sourceTree = "<group>"; };
     509                1C19E69B273F4242004B17B0 /* WebGPUImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUImpl.h; sourceTree = "<group>"; };
     510                1C19E69C273F4243004B17B0 /* WebGPUBindGroupLayoutImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUBindGroupLayoutImpl.h; sourceTree = "<group>"; };
     511                1C19E69D273F4243004B17B0 /* WebGPUPipelineLayoutImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUPipelineLayoutImpl.h; sourceTree = "<group>"; };
     512                1C19E69E273F4243004B17B0 /* WebGPUComputePassEncoderImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUComputePassEncoderImpl.h; sourceTree = "<group>"; };
     513                1C19E69F273F4243004B17B0 /* WebGPUTextureImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUTextureImpl.h; sourceTree = "<group>"; };
     514                1C19E6A1273F4243004B17B0 /* WebGPUBindGroupImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUBindGroupImpl.h; sourceTree = "<group>"; };
     515                1C19E6A2273F4243004B17B0 /* WebGPUBufferImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUBufferImpl.h; sourceTree = "<group>"; };
     516                1C19E6A3273F4244004B17B0 /* WebGPURenderPassEncoderImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPassEncoderImpl.h; sourceTree = "<group>"; };
     517                1C19E6A4273F4244004B17B0 /* WebGPUCommandBufferImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUCommandBufferImpl.h; sourceTree = "<group>"; };
     518                1C19E6A5273F4244004B17B0 /* WebGPUQueueImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUQueueImpl.h; sourceTree = "<group>"; };
     519                1C19E6A6273F4244004B17B0 /* WebGPURenderBundleImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPURenderBundleImpl.h; sourceTree = "<group>"; };
     520                1C19E6A7273F4244004B17B0 /* WebGPUSamplerImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUSamplerImpl.h; sourceTree = "<group>"; };
     521                1C19E6A8273F4244004B17B0 /* WebGPUQuerySetImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUQuerySetImpl.h; sourceTree = "<group>"; };
     522                1C19E6A9273F4244004B17B0 /* WebGPURenderPipelineImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPipelineImpl.h; sourceTree = "<group>"; };
     523                1C19E6AA273F4245004B17B0 /* WebGPUShaderModuleImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUShaderModuleImpl.h; sourceTree = "<group>"; };
     524                1C19E6AB273F4245004B17B0 /* WebGPUCommandEncoderImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUCommandEncoderImpl.h; sourceTree = "<group>"; };
     525                1C19E6AC273F4245004B17B0 /* WebGPUTextureViewImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUTextureViewImpl.h; sourceTree = "<group>"; };
     526                1C19E6AD273F4245004B17B0 /* WebGPUDeviceImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUDeviceImpl.h; sourceTree = "<group>"; };
     527                1C19E6AE273F4245004B17B0 /* WebGPUAdapterImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUAdapterImpl.h; sourceTree = "<group>"; };
     528                1C19E6AF273F4245004B17B0 /* WebGPUComputePipelineImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUComputePipelineImpl.h; sourceTree = "<group>"; };
     529                1C19E6B4273F85AF004B17B0 /* WebGPUConvertToBackingContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUConvertToBackingContext.cpp; sourceTree = "<group>"; };
     530                1C19E6B6273F85BC004B17B0 /* WebGPUConvertToBackingContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUConvertToBackingContext.h; sourceTree = "<group>"; };
     531                1C19E6B927405E32004B17B0 /* WebGPUExternalTextureImpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUExternalTextureImpl.cpp; sourceTree = "<group>"; };
     532                1C19E6BB27405E3C004B17B0 /* WebGPUExternalTextureImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUExternalTextureImpl.h; sourceTree = "<group>"; };
     533                1C36C52C2743011A006DA4C1 /* WebGPUDowncastConvertToBackingContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUDowncastConvertToBackingContext.cpp; sourceTree = "<group>"; };
     534                1C36C52D2743011A006DA4C1 /* WebGPUDowncastConvertToBackingContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUDowncastConvertToBackingContext.h; sourceTree = "<group>"; };
    462535                1C4876D61F8D7F4E00CCEEBD /* Logging.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Logging.cpp; sourceTree = "<group>"; };
    463536                1C4876D71F8D7F4E00CCEEBD /* Logging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Logging.h; sourceTree = "<group>"; };
     
    10011074                        sourceTree = "<group>";
    10021075                };
     1076                1C19E641273F3D75004B17B0 /* Impl */ = {
     1077                        isa = PBXGroup;
     1078                        children = (
     1079                                1C19E646273F3F82004B17B0 /* WebGPUAdapterImpl.cpp */,
     1080                                1C19E6AE273F4245004B17B0 /* WebGPUAdapterImpl.h */,
     1081                                1C19E64A273F3F99004B17B0 /* WebGPUBindGroupImpl.cpp */,
     1082                                1C19E6A1273F4243004B17B0 /* WebGPUBindGroupImpl.h */,
     1083                                1C19E64E273F3FA5004B17B0 /* WebGPUBindGroupLayoutImpl.cpp */,
     1084                                1C19E69C273F4243004B17B0 /* WebGPUBindGroupLayoutImpl.h */,
     1085                                1C19E652273F3FB1004B17B0 /* WebGPUBufferImpl.cpp */,
     1086                                1C19E6A2273F4243004B17B0 /* WebGPUBufferImpl.h */,
     1087                                1C19E656273F3FC0004B17B0 /* WebGPUCommandBufferImpl.cpp */,
     1088                                1C19E6A4273F4244004B17B0 /* WebGPUCommandBufferImpl.h */,
     1089                                1C19E65A273F3FD2004B17B0 /* WebGPUCommandEncoderImpl.cpp */,
     1090                                1C19E6AB273F4245004B17B0 /* WebGPUCommandEncoderImpl.h */,
     1091                                1C19E65E273F3FE2004B17B0 /* WebGPUComputePassEncoderImpl.cpp */,
     1092                                1C19E69E273F4243004B17B0 /* WebGPUComputePassEncoderImpl.h */,
     1093                                1C19E662273F3FEE004B17B0 /* WebGPUComputePipelineImpl.cpp */,
     1094                                1C19E6AF273F4245004B17B0 /* WebGPUComputePipelineImpl.h */,
     1095                                1C19E6B4273F85AF004B17B0 /* WebGPUConvertToBackingContext.cpp */,
     1096                                1C19E6B6273F85BC004B17B0 /* WebGPUConvertToBackingContext.h */,
     1097                                1C19E666273F3FFA004B17B0 /* WebGPUDeviceImpl.cpp */,
     1098                                1C19E6AD273F4245004B17B0 /* WebGPUDeviceImpl.h */,
     1099                                1C36C52C2743011A006DA4C1 /* WebGPUDowncastConvertToBackingContext.cpp */,
     1100                                1C36C52D2743011A006DA4C1 /* WebGPUDowncastConvertToBackingContext.h */,
     1101                                1C19E6B927405E32004B17B0 /* WebGPUExternalTextureImpl.cpp */,
     1102                                1C19E6BB27405E3C004B17B0 /* WebGPUExternalTextureImpl.h */,
     1103                                1C19E642273F3E5D004B17B0 /* WebGPUImpl.cpp */,
     1104                                1C19E69B273F4242004B17B0 /* WebGPUImpl.h */,
     1105                                1C19E66E273F4014004B17B0 /* WebGPUPipelineLayoutImpl.cpp */,
     1106                                1C19E69D273F4243004B17B0 /* WebGPUPipelineLayoutImpl.h */,
     1107                                1C19E672273F4020004B17B0 /* WebGPUQuerySetImpl.cpp */,
     1108                                1C19E6A8273F4244004B17B0 /* WebGPUQuerySetImpl.h */,
     1109                                1C19E676273F402B004B17B0 /* WebGPUQueueImpl.cpp */,
     1110                                1C19E6A5273F4244004B17B0 /* WebGPUQueueImpl.h */,
     1111                                1C19E67E273F4044004B17B0 /* WebGPURenderBundleEncoderImpl.cpp */,
     1112                                1C19E69A273F4242004B17B0 /* WebGPURenderBundleEncoderImpl.h */,
     1113                                1C19E67A273F403A004B17B0 /* WebGPURenderBundleImpl.cpp */,
     1114                                1C19E6A6273F4244004B17B0 /* WebGPURenderBundleImpl.h */,
     1115                                1C19E682273F4050004B17B0 /* WebGPURenderPassEncoderImpl.cpp */,
     1116                                1C19E6A3273F4244004B17B0 /* WebGPURenderPassEncoderImpl.h */,
     1117                                1C19E686273F405D004B17B0 /* WebGPURenderPipelineImpl.cpp */,
     1118                                1C19E6A9273F4244004B17B0 /* WebGPURenderPipelineImpl.h */,
     1119                                1C19E68A273F4069004B17B0 /* WebGPUSamplerImpl.cpp */,
     1120                                1C19E6A7273F4244004B17B0 /* WebGPUSamplerImpl.h */,
     1121                                1C19E68E273F4071004B17B0 /* WebGPUShaderModuleImpl.cpp */,
     1122                                1C19E6AA273F4245004B17B0 /* WebGPUShaderModuleImpl.h */,
     1123                                1C19E692273F407D004B17B0 /* WebGPUTextureImpl.cpp */,
     1124                                1C19E69F273F4243004B17B0 /* WebGPUTextureImpl.h */,
     1125                                1C19E696273F408B004B17B0 /* WebGPUTextureViewImpl.cpp */,
     1126                                1C19E6AC273F4245004B17B0 /* WebGPUTextureViewImpl.h */,
     1127                        );
     1128                        path = Impl;
     1129                        sourceTree = "<group>";
     1130                };
    10031131                1C4876DE1F8D831300CCEEBD /* cocoa */ = {
    10041132                        isa = PBXGroup;
     
    10431171                        isa = PBXGroup;
    10441172                        children = (
     1173                                1C19E641273F3D75004B17B0 /* Impl */,
    10451174                                1CC5E47127374948006F6FF4 /* WebGPU.h */,
    10461175                                1CC5E47F27374949006F6FF4 /* WebGPUAdapter.h */,
     
    14761605                                1CEFA1FA2737A4C800F0DA95 /* WebGPUDeviceLostInfo.h in Headers */,
    14771606                                1CEFA20E2737A4C800F0DA95 /* WebGPUDeviceLostReason.h in Headers */,
     1607                                1C36C52F2743011A006DA4C1 /* WebGPUDowncastConvertToBackingContext.h in Headers */,
    14781608                                1CEFA1FB2737A4C800F0DA95 /* WebGPUError.h in Headers */,
    14791609                                1CEFA1C72737A4C800F0DA95 /* WebGPUErrorFilter.h in Headers */,
     
    16951825                                41E1F344248A6A000022D5DE /* VideoToolboxSoftLink.cpp in Sources */,
    16961826                                F46B8C4D26740918007A6554 /* VisionKitCoreSoftLink.mm in Sources */,
     1827                                1C19E648273F3F82004B17B0 /* WebGPUAdapterImpl.cpp in Sources */,
     1828                                1C19E64C273F3F99004B17B0 /* WebGPUBindGroupImpl.cpp in Sources */,
     1829                                1C19E650273F3FA5004B17B0 /* WebGPUBindGroupLayoutImpl.cpp in Sources */,
     1830                                1C19E654273F3FB1004B17B0 /* WebGPUBufferImpl.cpp in Sources */,
     1831                                1C19E658273F3FC0004B17B0 /* WebGPUCommandBufferImpl.cpp in Sources */,
     1832                                1C19E65C273F3FD2004B17B0 /* WebGPUCommandEncoderImpl.cpp in Sources */,
     1833                                1C19E660273F3FE2004B17B0 /* WebGPUComputePassEncoderImpl.cpp in Sources */,
     1834                                1C19E664273F3FEE004B17B0 /* WebGPUComputePipelineImpl.cpp in Sources */,
     1835                                1C19E6B5273F85AF004B17B0 /* WebGPUConvertToBackingContext.cpp in Sources */,
     1836                                1C19E668273F3FFA004B17B0 /* WebGPUDeviceImpl.cpp in Sources */,
     1837                                1C36C52E2743011A006DA4C1 /* WebGPUDowncastConvertToBackingContext.cpp in Sources */,
     1838                                1C19E6BA27405E32004B17B0 /* WebGPUExternalTextureImpl.cpp in Sources */,
     1839                                1C19E644273F3E5D004B17B0 /* WebGPUImpl.cpp in Sources */,
     1840                                1C19E670273F4014004B17B0 /* WebGPUPipelineLayoutImpl.cpp in Sources */,
     1841                                1C19E674273F4020004B17B0 /* WebGPUQuerySetImpl.cpp in Sources */,
     1842                                1C19E678273F402B004B17B0 /* WebGPUQueueImpl.cpp in Sources */,
     1843                                1C19E680273F4044004B17B0 /* WebGPURenderBundleEncoderImpl.cpp in Sources */,
     1844                                1C19E67C273F403A004B17B0 /* WebGPURenderBundleImpl.cpp in Sources */,
     1845                                1C19E684273F4050004B17B0 /* WebGPURenderPassEncoderImpl.cpp in Sources */,
     1846                                1C19E688273F405D004B17B0 /* WebGPURenderPipelineImpl.cpp in Sources */,
     1847                                1C19E68C273F4069004B17B0 /* WebGPUSamplerImpl.cpp in Sources */,
     1848                                1C19E690273F4072004B17B0 /* WebGPUShaderModuleImpl.cpp in Sources */,
     1849                                1C19E694273F407D004B17B0 /* WebGPUTextureImpl.cpp in Sources */,
     1850                                1C19E698273F408B004B17B0 /* WebGPUTextureViewImpl.cpp in Sources */,
    16971851                                A10826FA1F576292004772AC /* WebPanel.mm in Sources */,
    16981852                        );
Note: See TracChangeset for help on using the changeset viewer.