| 2022-01-26 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [WebGPU] Make sure WGSLUnitTests can call into WGSL |
| https://bugs.webkit.org/show_bug.cgi?id=235630 |
| |
| Reviewed by Dean Jackson. |
| |
| * WGSL/WGSL.cpp: |
| (WGSL::staticCheck): Apparently /usr/local/include/AssertMacros.h #defines "check" |
| (WGSL::check): Deleted. |
| * WGSL/WGSL.h: |
| * WGSLUnitTests/WGSLUnitTests.mm: |
| (-[WGSLUnitTests testExample]): |
| |
| 2022-01-25 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [WebGPU] Fix WGSLUnitTests build |
| https://bugs.webkit.org/show_bug.cgi?id=235628 |
| |
| Unreviewed. |
| |
| * Configurations/WGSLUnitTests.xcconfig: |
| |
| 2022-01-25 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r288606. |
| https://bugs.webkit.org/show_bug.cgi?id=235629 |
| |
| Should never have been committed |
| |
| Reverted changeset: |
| |
| "[WebGPU] Fix WGSLUnitTests build" |
| https://bugs.webkit.org/show_bug.cgi?id=235628 |
| https://commits.webkit.org/r288606 |
| |
| 2022-01-25 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [WebGPU] Fix WGSLUnitTests build |
| https://bugs.webkit.org/show_bug.cgi?id=235628 |
| |
| Unreviewed. |
| |
| * Configurations/WGSLUnitTests.xcconfig: |
| |
| 2022-01-18 Alex Christensen <achristensen@webkit.org> |
| |
| Use c++2a instead of gnu++2a for Cocoa builds |
| https://bugs.webkit.org/show_bug.cgi?id=234936 |
| |
| Reviewed by Sam Weinig. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2022-01-12 Elliott Williams <emw@apple.com> |
| |
| [Xcode] Configure each project for the legacy build system |
| https://bugs.webkit.org/show_bug.cgi?id=235091 |
| |
| Reviewed by Darin Adler. |
| |
| * WebGPU.xcodeproj/project.pbxproj: |
| |
| 2022-01-10 Alex Christensen <achristensen@webkit.org> |
| |
| Start using C++20 |
| https://bugs.webkit.org/show_bug.cgi?id=233963 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2022-01-07 Alex Christensen <achristensen@webkit.org> |
| |
| Unreviewed, reverting r287698. |
| |
| Broke an internal build |
| |
| Reverted changeset: |
| |
| "Start using C++20" |
| https://bugs.webkit.org/show_bug.cgi?id=233963 |
| https://commits.webkit.org/r287698 |
| |
| 2022-01-06 Alex Christensen <achristensen@webkit.org> |
| |
| Start using C++20 |
| https://bugs.webkit.org/show_bug.cgi?id=233963 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2022-01-01 Jeff Miller <jeffm@apple.com> |
| |
| Update user-visible copyright strings to include 2022 |
| https://bugs.webkit.org/show_bug.cgi?id=234263 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Info.plist: |
| |
| 2021-12-21 Michael Saboff <msaboff@apple.com> |
| |
| Fix symlinks for alternate root framework locations |
| https://bugs.webkit.org/show_bug.cgi?id=234567 |
| |
| Reviewed by Filip Pizlo. |
| |
| Moved OUTPUT_ALTERNATE_ROOT_PATH in create symlink script from outputFileListPaths to outputPaths. |
| |
| * WebGPU.xcodeproj/project.pbxproj: |
| |
| 2021-12-16 Michael Saboff <msaboff@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=234173 |
| Update Install Paths for build system changes |
| |
| Reviewed by Filip Pizlo. |
| |
| Added build variables and build step to create symlinks pointing to the alternate |
| build locations from the current framework install location. |
| |
| * Configurations/WebGPU.xcconfig: |
| * Scripts: Added. |
| * Scripts/create-symlink-to-altroot.sh: Added. |
| * WebGPU.xcodeproj/project.pbxproj: |
| |
| 2021-12-13 Elliott Williams <emw@apple.com> |
| |
| Deployment target for macOS 11+ does not follow minor version bumps |
| https://bugs.webkit.org/show_bug.cgi?id=233906 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2021-12-10 Michael Saboff <msaboff@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=234173 |
| Update Install Paths for build system changes |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Updated install paths for changes in the build system that use a system path prefix. |
| |
| * Configurations/WebGPU.xcconfig: |
| |
| 2021-12-07 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [WebGPU] Fix MacCatalyst build |
| https://bugs.webkit.org/show_bug.cgi?id=233920 |
| |
| Unreviewed. |
| |
| Taken from JavaScriptCore.xcodeproj. |
| |
| * Configurations/WebGPU.xcconfig: |
| |
| 2021-12-02 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [WebGPU] Hook up navigator.gpu.requestAdapter() |
| https://bugs.webkit.org/show_bug.cgi?id=233619 |
| |
| Just hook up enough for Instance::requestAdapter() to not fail. |
| |
| Reviewed by Dean Jackson. |
| |
| * WebGPU/Adapter.mm: |
| (WebGPU::Adapter::getLimits): |
| * WebGPU/Instance.mm: |
| (WebGPU::Instance::requestAdapter): |
| (wgpuCreateInstance): |
| (wgpuInstanceRequestAdapter): |
| |
| 2021-11-29 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [WebGPU] Make WebGPU.framework's classes reference counted |
| https://bugs.webkit.org/show_bug.cgi?id=233547 |
| |
| Reviewed by Dean Jackson. |
| |
| This is a fairly mechanical change of replacing constructors with calls to create(), and |
| changing instances to Ref<...>, and using -> instead of . |
| |
| There's one somewhat interesting design choice here. The header has things like: |
| |
| typedef struct WGPUAdapterImpl* WGPUAdapter; |
| |
| But we're using C++ so we want to have something like |
| |
| namespace WebGPU { |
| class Adapter : public RefCounted<Adapter> { |
| ... |
| }; |
| } |
| |
| So we need to have some way of connecting these two things. This patch opts to do this like so: |
| |
| struct WGPUAdapterImpl { |
| Ref<Adapter> adapter; |
| }; |
| |
| This isn't perfect, because it means that all method calls require a double dereference: one to |
| dereference the WGPUAdapter to get the WGPUAdapterImpl, and one to dereference the Ref<Adapter> |
| to get the Adapter. This is the most elegant solution for now, because it doesn't require any |
| reinterpret_cast<>()'ing. This patch chooses this elegant solution, because premature optimization |
| is the root of all evil. |
| |
| * WebGPU/Adapter.h: |
| (WebGPU::Adapter::create): |
| * WebGPU/Adapter.mm: |
| (WebGPU::Adapter::requestDevice): |
| (wgpuAdapterGetLimits): |
| (wgpuAdapterGetProperties): |
| (wgpuAdapterHasFeature): |
| (wgpuAdapterGetFeatureAtIndex): |
| (wgpuAdapterRequestDevice): |
| * WebGPU/BindGroup.h: |
| (WebGPU::BindGroup::create): |
| * WebGPU/BindGroup.mm: |
| (wgpuBindGroupSetLabel): |
| * WebGPU/BindGroupLayout.h: |
| (WebGPU::BindGroupLayout::create): |
| * WebGPU/BindGroupLayout.mm: |
| (wgpuBindGroupLayoutSetLabel): |
| * WebGPU/Buffer.h: |
| (WebGPU::Buffer::create): |
| * WebGPU/Buffer.mm: |
| (WebGPU::Buffer::mapAsync): |
| (wgpuBufferDestroy): |
| (wgpuBufferGetConstMappedRange): |
| (wgpuBufferGetMappedRange): |
| (wgpuBufferMapAsync): |
| (wgpuBufferUnmap): |
| (wgpuBufferSetLabel): |
| * WebGPU/CommandBuffer.h: |
| (WebGPU::CommandBuffer::create): |
| * WebGPU/CommandBuffer.mm: |
| (wgpuCommandBufferSetLabel): |
| * WebGPU/CommandEncoder.h: |
| (WebGPU::CommandEncoder::create): |
| * WebGPU/CommandEncoder.mm: |
| (WebGPU::CommandEncoder::beginComputePass): |
| (WebGPU::CommandEncoder::beginRenderPass): |
| (WebGPU::CommandEncoder::finish): |
| (wgpuCommandEncoderBeginComputePass): |
| (wgpuCommandEncoderBeginRenderPass): |
| (wgpuCommandEncoderCopyBufferToBuffer): |
| (wgpuCommandEncoderCopyBufferToTexture): |
| (wgpuCommandEncoderCopyTextureToBuffer): |
| (wgpuCommandEncoderCopyTextureToTexture): |
| (wgpuCommandEncoderFillBuffer): |
| (wgpuCommandEncoderFinish): |
| (wgpuCommandEncoderInsertDebugMarker): |
| (wgpuCommandEncoderPopDebugGroup): |
| (wgpuCommandEncoderPushDebugGroup): |
| (wgpuCommandEncoderResolveQuerySet): |
| (wgpuCommandEncoderWriteTimestamp): |
| (wgpuCommandEncoderSetLabel): |
| * WebGPU/ComputePassEncoder.h: |
| (WebGPU::ComputePassEncoder::create): |
| * WebGPU/ComputePassEncoder.mm: |
| (wgpuComputePassEncoderBeginPipelineStatisticsQuery): |
| (wgpuComputePassEncoderDispatch): |
| (wgpuComputePassEncoderDispatchIndirect): |
| (wgpuComputePassEncoderEndPass): |
| (wgpuComputePassEncoderEndPipelineStatisticsQuery): |
| (wgpuComputePassEncoderInsertDebugMarker): |
| (wgpuComputePassEncoderPopDebugGroup): |
| (wgpuComputePassEncoderPushDebugGroup): |
| (wgpuComputePassEncoderSetBindGroup): |
| (wgpuComputePassEncoderSetPipeline): |
| (wgpuComputePassEncoderWriteTimestamp): |
| (wgpuComputePassEncoderSetLabel): |
| * WebGPU/ComputePipeline.h: |
| (WebGPU::ComputePipeline::create): |
| * WebGPU/ComputePipeline.mm: |
| (WebGPU::ComputePipeline::getBindGroupLayout): |
| (wgpuComputePipelineGetBindGroupLayout): |
| (wgpuComputePipelineSetLabel): |
| * WebGPU/Device.h: |
| (WebGPU::Device::create): |
| * WebGPU/Device.mm: |
| (WebGPU::Device::createBindGroup): |
| (WebGPU::Device::createBindGroupLayout): |
| (WebGPU::Device::createBuffer): |
| (WebGPU::Device::createCommandEncoder): |
| (WebGPU::Device::createComputePipeline): |
| (WebGPU::Device::createComputePipelineAsync): |
| (WebGPU::Device::createPipelineLayout): |
| (WebGPU::Device::createQuerySet): |
| (WebGPU::Device::createRenderBundleEncoder): |
| (WebGPU::Device::createRenderPipeline): |
| (WebGPU::Device::createRenderPipelineAsync): |
| (WebGPU::Device::createSampler): |
| (WebGPU::Device::createShaderModule): |
| (WebGPU::Device::createSwapChain): |
| (WebGPU::Device::createTexture): |
| (WebGPU::Device::getQueue): |
| (WebGPU::Device::popErrorScope): |
| (WebGPU::Device::setDeviceLostCallback): |
| (WebGPU::Device::setUncapturedErrorCallback): |
| (wgpuDeviceCreateBindGroup): |
| (wgpuDeviceCreateBindGroupLayout): |
| (wgpuDeviceCreateBuffer): |
| (wgpuDeviceCreateCommandEncoder): |
| (wgpuDeviceCreateComputePipeline): |
| (wgpuDeviceCreateComputePipelineAsync): |
| (wgpuDeviceCreatePipelineLayout): |
| (wgpuDeviceCreateQuerySet): |
| (wgpuDeviceCreateRenderBundleEncoder): |
| (wgpuDeviceCreateRenderPipeline): |
| (wgpuDeviceCreateRenderPipelineAsync): |
| (wgpuDeviceCreateSampler): |
| (wgpuDeviceCreateShaderModule): |
| (wgpuDeviceCreateSwapChain): |
| (wgpuDeviceCreateTexture): |
| (wgpuDeviceDestroy): |
| (wgpuDeviceGetLimits): |
| (wgpuDeviceGetQueue): |
| (wgpuDevicePopErrorScope): |
| (wgpuDevicePushErrorScope): |
| (wgpuDeviceSetDeviceLostCallback): |
| (wgpuDeviceSetUncapturedErrorCallback): |
| (wgpuDeviceSetLabel): |
| * WebGPU/Instance.h: |
| (WebGPU::Instance::create): |
| * WebGPU/Instance.mm: |
| (WebGPU::Instance::createSurface): |
| (WebGPU::Instance::requestAdapter): |
| (wgpuInstanceCreateSurface): |
| (wgpuInstanceProcessEvents): |
| (wgpuInstanceRequestAdapter): |
| * WebGPU/PipelineLayout.h: |
| (WebGPU::PipelineLayout::create): |
| * WebGPU/PipelineLayout.mm: |
| (wgpuPipelineLayoutSetLabel): |
| * WebGPU/QuerySet.h: |
| (WebGPU::QuerySet::create): |
| * WebGPU/QuerySet.mm: |
| (wgpuQuerySetDestroy): |
| (wgpuQuerySetSetLabel): |
| * WebGPU/Queue.h: |
| (WebGPU::Queue::create): |
| * WebGPU/Queue.mm: |
| (WebGPU::Queue::onSubmittedWorkDone): |
| (wgpuQueueOnSubmittedWorkDone): |
| (wgpuQueueSubmit): |
| (wgpuQueueWriteBuffer): |
| (wgpuQueueWriteTexture): |
| (wgpuQueueSetLabel): |
| * WebGPU/RenderBundle.h: |
| (WebGPU::RenderBundle::create): |
| * WebGPU/RenderBundle.mm: |
| (wgpuRenderBundleSetLabel): |
| * WebGPU/RenderBundleEncoder.h: |
| (WebGPU::RenderBundleEncoder::create): |
| * WebGPU/RenderBundleEncoder.mm: |
| (WebGPU::RenderBundleEncoder::finish): |
| (wgpuRenderBundleEncoderDraw): |
| (wgpuRenderBundleEncoderDrawIndexed): |
| (wgpuRenderBundleEncoderDrawIndexedIndirect): |
| (wgpuRenderBundleEncoderDrawIndirect): |
| (wgpuRenderBundleEncoderFinish): |
| (wgpuRenderBundleEncoderInsertDebugMarker): |
| (wgpuRenderBundleEncoderPopDebugGroup): |
| (wgpuRenderBundleEncoderPushDebugGroup): |
| (wgpuRenderBundleEncoderSetBindGroup): |
| (wgpuRenderBundleEncoderSetIndexBuffer): |
| (wgpuRenderBundleEncoderSetPipeline): |
| (wgpuRenderBundleEncoderSetVertexBuffer): |
| (wgpuRenderBundleEncoderSetLabel): |
| * WebGPU/RenderPassEncoder.h: |
| (WebGPU::RenderPassEncoder::create): |
| * WebGPU/RenderPassEncoder.mm: |
| (wgpuRenderPassEncoderBeginOcclusionQuery): |
| (wgpuRenderPassEncoderBeginPipelineStatisticsQuery): |
| (wgpuRenderPassEncoderDraw): |
| (wgpuRenderPassEncoderDrawIndexed): |
| (wgpuRenderPassEncoderDrawIndexedIndirect): |
| (wgpuRenderPassEncoderDrawIndirect): |
| (wgpuRenderPassEncoderEndOcclusionQuery): |
| (wgpuRenderPassEncoderEndPass): |
| (wgpuRenderPassEncoderEndPipelineStatisticsQuery): |
| (wgpuRenderPassEncoderExecuteBundles): |
| (wgpuRenderPassEncoderInsertDebugMarker): |
| (wgpuRenderPassEncoderPopDebugGroup): |
| (wgpuRenderPassEncoderPushDebugGroup): |
| (wgpuRenderPassEncoderSetBindGroup): |
| (wgpuRenderPassEncoderSetBlendConstant): |
| (wgpuRenderPassEncoderSetIndexBuffer): |
| (wgpuRenderPassEncoderSetPipeline): |
| (wgpuRenderPassEncoderSetScissorRect): |
| (wgpuRenderPassEncoderSetStencilReference): |
| (wgpuRenderPassEncoderSetVertexBuffer): |
| (wgpuRenderPassEncoderSetViewport): |
| (wgpuRenderPassEncoderWriteTimestamp): |
| (wgpuRenderPassEncoderSetLabel): |
| * WebGPU/RenderPipeline.h: |
| (WebGPU::RenderPipeline::create): |
| * WebGPU/RenderPipeline.mm: |
| (WebGPU::RenderPipeline::getBindGroupLayout): |
| (wgpuRenderPipelineGetBindGroupLayout): |
| (wgpuRenderPipelineSetLabel): |
| * WebGPU/Sampler.h: |
| (WebGPU::Sampler::create): |
| * WebGPU/Sampler.mm: |
| (wgpuSamplerSetLabel): |
| * WebGPU/ShaderModule.h: |
| (WebGPU::ShaderModule::create): |
| * WebGPU/ShaderModule.mm: |
| (wgpuShaderModuleSetLabel): |
| * WebGPU/Surface.h: |
| (WebGPU::Surface::create): |
| * WebGPU/Surface.mm: |
| (wgpuSurfaceGetPreferredFormat): |
| * WebGPU/SwapChain.h: |
| (WebGPU::SwapChain::create): |
| * WebGPU/SwapChain.mm: |
| (WebGPU::SwapChain::getCurrentTextureView): |
| (wgpuSwapChainGetCurrentTextureView): |
| (wgpuSwapChainPresent): |
| * WebGPU/Texture.h: |
| (WebGPU::Texture::create): |
| * WebGPU/Texture.mm: |
| (WebGPU::Texture::createView): |
| (wgpuTextureCreateView): |
| (wgpuTextureDestroy): |
| (wgpuTextureSetLabel): |
| * WebGPU/TextureView.h: |
| (WebGPU::TextureView::create): |
| * WebGPU/TextureView.mm: |
| (wgpuTextureViewSetLabel): |
| |
| 2021-11-16 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [WebGPU] Add WGSLUnitTests XCTest target for WebGPU |
| https://bugs.webkit.org/show_bug.cgi?id=233227 |
| |
| Reviewed by Robin Morisset. |
| |
| For now, this new target isn't hooked up to any automated testing - it's just a local target which developers can run. |
| |
| * Configurations/WGSLUnitTests.xcconfig: Added. |
| * WGSLUnitTests/WGSLUnitTests.mm: Added. |
| (-[WGSLUnitTests testExample]): |
| * WebGPU.xcodeproj/project.pbxproj: |
| * WebGPU.xcodeproj/xcshareddata/xcschemes/WGSL.xcscheme: |
| * WebGPU.xcodeproj/xcshareddata/xcschemes/WGSLUnitTests.xcscheme: Copied from Source/WebGPU/WebGPU.xcodeproj/xcshareddata/xcschemes/WGSL.xcscheme. |
| |
| 2021-11-14 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [WebGPU] Add necessary additions to WebGPU.framework |
| https://bugs.webkit.org/show_bug.cgi?id=233091 |
| |
| Reviewed by Dean Jackson. |
| |
| WebGPU.framework's header file is lagging a bit behind the official WebGPU API. |
| This updates a companion header, WebGPUExt.h, with the necessary additions. |
| I don't want to modify the primary header, WebGPU.h, because it's shared among |
| multiple projects, so coordination is necessary to modify it. |
| |
| * WebGPU/Adapter.h: |
| * WebGPU/Adapter.mm: |
| (WebGPU::Adapter::getFeatureAtIndex): |
| (wgpuAdapterGetFeatureAtIndex): |
| * WebGPU/BindGroup.h: |
| * WebGPU/BindGroup.mm: |
| (WebGPU::BindGroup::setLabel): |
| (wgpuBindGroupSetLabel): |
| * WebGPU/BindGroupLayout.h: |
| * WebGPU/BindGroupLayout.mm: |
| (WebGPU::BindGroupLayout::setLabel): |
| (wgpuBindGroupLayoutSetLabel): |
| * WebGPU/Buffer.h: |
| * WebGPU/Buffer.mm: |
| (WebGPU::Buffer::setLabel): |
| (wgpuBufferSetLabel): |
| * WebGPU/CommandBuffer.h: |
| * WebGPU/CommandBuffer.mm: |
| (WebGPU::CommandBuffer::setLabel): |
| (wgpuCommandBufferSetLabel): |
| * WebGPU/CommandEncoder.h: |
| * WebGPU/CommandEncoder.mm: |
| (WebGPU::CommandEncoder::fillBuffer): |
| (WebGPU::CommandEncoder::setLabel): |
| (wgpuCommandEncoderFillBuffer): |
| (wgpuCommandEncoderSetLabel): |
| * WebGPU/ComputePassEncoder.h: |
| * WebGPU/ComputePassEncoder.mm: |
| (WebGPU::ComputePassEncoder::setLabel): |
| (wgpuComputePassEncoderSetLabel): |
| * WebGPU/Device.h: |
| * WebGPU/Device.mm: |
| (WebGPU::Device::setLabel): |
| (wgpuDeviceSetLabel): |
| * WebGPU/Instance.mm: |
| (wgpuGetProcAddress): |
| * WebGPU/PipelineLayout.h: |
| * WebGPU/PipelineLayout.mm: |
| (WebGPU::PipelineLayout::setLabel): |
| (wgpuPipelineLayoutSetLabel): |
| * WebGPU/QuerySet.h: |
| * WebGPU/QuerySet.mm: |
| (WebGPU::QuerySet::setLabel): |
| (wgpuQuerySetSetLabel): |
| * WebGPU/Queue.h: |
| * WebGPU/Queue.mm: |
| (WebGPU::Queue::setLabel): |
| (wgpuQueueSetLabel): |
| * WebGPU/RenderBundle.h: |
| * WebGPU/RenderBundle.mm: |
| (WebGPU::RenderBundle::setLabel): |
| (wgpuRenderBundleSetLabel): |
| * WebGPU/RenderBundleEncoder.h: |
| * WebGPU/RenderBundleEncoder.mm: |
| (WebGPU::RenderBundleEncoder::setLabel): |
| (wgpuRenderBundleEncoderSetLabel): |
| * WebGPU/RenderPassEncoder.h: |
| * WebGPU/RenderPassEncoder.mm: |
| (WebGPU::RenderPassEncoder::setLabel): |
| (wgpuRenderPassEncoderSetLabel): |
| * WebGPU/Sampler.h: |
| * WebGPU/Sampler.mm: |
| (WebGPU::Sampler::setLabel): |
| (wgpuSamplerSetLabel): |
| * WebGPU/Texture.h: |
| * WebGPU/Texture.mm: |
| (WebGPU::Texture::setLabel): |
| (wgpuTextureSetLabel): |
| * WebGPU/TextureView.h: |
| * WebGPU/TextureView.mm: |
| (WebGPU::TextureView::setLabel): |
| (wgpuTextureViewSetLabel): |
| * WebGPU/WebGPUExt.h: |
| |
| 2021-11-09 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [WebGPU] Stub out methods in WebGPU.framework |
| https://bugs.webkit.org/show_bug.cgi?id=232872 |
| |
| Reviewed by Dean Jackson. |
| |
| This creates empty implementations for all the methods in WebGPU.framework. |
| This means that there are now implementations for every API call, so PAL |
| can successfully call into WebGPU.framework and link with it. |
| |
| * Configurations/Version.xcconfig: Added. |
| * Configurations/WebGPU.xcconfig: |
| * WebGPU.xcodeproj/project.pbxproj: |
| * WebGPU/Adapter.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/Adapter.mm: Added. |
| (WebGPU::Adapter::getLimits): |
| (WebGPU::Adapter::getProperties): |
| (WebGPU::Adapter::hasFeature): |
| (WebGPU::Adapter::requestDevice): |
| (wgpuAdapterRelease): |
| (wgpuAdapterGetLimits): |
| (wgpuAdapterGetProperties): |
| (wgpuAdapterHasFeature): |
| (wgpuAdapterRequestDevice): |
| * WebGPU/BindGroup.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/BindGroup.mm: Copied from Source/WebGPU/WebGPU/WebGPUObjC.mm. |
| (wgpuBindGroupRelease): |
| * WebGPU/BindGroupLayout.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/BindGroupLayout.mm: Renamed from Source/WebGPU/WebGPU/WebGPU.cpp. |
| (wgpuBindGroupLayoutRelease): |
| * WebGPU/Buffer.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/Buffer.mm: Added. |
| (WebGPU::Buffer::destroy): |
| (WebGPU::Buffer::getConstMappedRange): |
| (WebGPU::Buffer::getMappedRange): |
| (WebGPU::Buffer::mapAsync): |
| (WebGPU::Buffer::unmap): |
| (wgpuBufferRelease): |
| (wgpuBufferDestroy): |
| (wgpuBufferGetConstMappedRange): |
| (wgpuBufferGetMappedRange): |
| (wgpuBufferMapAsync): |
| (wgpuBufferUnmap): |
| * WebGPU/CommandBuffer.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/CommandBuffer.mm: Copied from Source/WebGPU/WebGPU/WebGPUObjC.mm. |
| (wgpuCommandBufferRelease): |
| * WebGPU/CommandEncoder.h: Added. |
| * WebGPU/CommandEncoder.mm: Added. |
| (WebGPU::CommandEncoder::beginComputePass): |
| (WebGPU::CommandEncoder::beginRenderPass): |
| (WebGPU::CommandEncoder::copyBufferToBuffer): |
| (WebGPU::CommandEncoder::copyBufferToTexture): |
| (WebGPU::CommandEncoder::copyTextureToBuffer): |
| (WebGPU::CommandEncoder::copyTextureToTexture): |
| (WebGPU::CommandEncoder::finish): |
| (WebGPU::CommandEncoder::insertDebugMarker): |
| (WebGPU::CommandEncoder::popDebugGroup): |
| (WebGPU::CommandEncoder::pushDebugGroup): |
| (WebGPU::CommandEncoder::resolveQuerySet): |
| (WebGPU::CommandEncoder::writeTimestamp): |
| (wgpuCommandEncoderRelease): |
| (wgpuCommandEncoderBeginComputePass): |
| (wgpuCommandEncoderBeginRenderPass): |
| (wgpuCommandEncoderCopyBufferToBuffer): |
| (wgpuCommandEncoderCopyBufferToTexture): |
| (wgpuCommandEncoderCopyTextureToBuffer): |
| (wgpuCommandEncoderCopyTextureToTexture): |
| (wgpuCommandEncoderFinish): |
| (wgpuCommandEncoderInsertDebugMarker): |
| (wgpuCommandEncoderPopDebugGroup): |
| (wgpuCommandEncoderPushDebugGroup): |
| (wgpuCommandEncoderResolveQuerySet): |
| (wgpuCommandEncoderWriteTimestamp): |
| * WebGPU/ComputePassEncoder.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/ComputePassEncoder.mm: Added. |
| (WebGPU::ComputePassEncoder::beginPipelineStatisticsQuery): |
| (WebGPU::ComputePassEncoder::dispatch): |
| (WebGPU::ComputePassEncoder::dispatchIndirect): |
| (WebGPU::ComputePassEncoder::endPass): |
| (WebGPU::ComputePassEncoder::endPipelineStatisticsQuery): |
| (WebGPU::ComputePassEncoder::insertDebugMarker): |
| (WebGPU::ComputePassEncoder::popDebugGroup): |
| (WebGPU::ComputePassEncoder::pushDebugGroup): |
| (WebGPU::ComputePassEncoder::setBindGroup): |
| (WebGPU::ComputePassEncoder::setPipeline): |
| (WebGPU::ComputePassEncoder::writeTimestamp): |
| (wgpuComputePassEncoderRelease): |
| (wgpuComputePassEncoderBeginPipelineStatisticsQuery): |
| (wgpuComputePassEncoderDispatch): |
| (wgpuComputePassEncoderDispatchIndirect): |
| (wgpuComputePassEncoderEndPass): |
| (wgpuComputePassEncoderEndPipelineStatisticsQuery): |
| (wgpuComputePassEncoderInsertDebugMarker): |
| (wgpuComputePassEncoderPopDebugGroup): |
| (wgpuComputePassEncoderPushDebugGroup): |
| (wgpuComputePassEncoderSetBindGroup): |
| (wgpuComputePassEncoderSetPipeline): |
| (wgpuComputePassEncoderWriteTimestamp): |
| * WebGPU/ComputePipeline.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/ComputePipeline.mm: Copied from Source/WebGPU/WebGPU/WebGPUObjC.mm. |
| (WebGPU::ComputePipeline::getBindGroupLayout): |
| (WebGPU::ComputePipeline::setLabel): |
| (wgpuComputePipelineRelease): |
| (wgpuComputePipelineGetBindGroupLayout): |
| (wgpuComputePipelineSetLabel): |
| * WebGPU/Device.h: Added. |
| * WebGPU/Device.mm: Added. |
| (WebGPU::Device::createBindGroup): |
| (WebGPU::Device::createBindGroupLayout): |
| (WebGPU::Device::createBuffer): |
| (WebGPU::Device::createCommandEncoder): |
| (WebGPU::Device::createComputePipeline): |
| (WebGPU::Device::createComputePipelineAsync): |
| (WebGPU::Device::createPipelineLayout): |
| (WebGPU::Device::createQuerySet): |
| (WebGPU::Device::createRenderBundleEncoder): |
| (WebGPU::Device::createRenderPipeline): |
| (WebGPU::Device::createRenderPipelineAsync): |
| (WebGPU::Device::createSampler): |
| (WebGPU::Device::createShaderModule): |
| (WebGPU::Device::createSwapChain): |
| (WebGPU::Device::createTexture): |
| (WebGPU::Device::destroy): |
| (WebGPU::Device::getLimits): |
| (WebGPU::Device::getQueue): |
| (WebGPU::Device::popErrorScope): |
| (WebGPU::Device::pushErrorScope): |
| (WebGPU::Device::setDeviceLostCallback): |
| (WebGPU::Device::setUncapturedErrorCallback): |
| (wgpuDeviceRelease): |
| (wgpuDeviceCreateBindGroup): |
| (wgpuDeviceCreateBindGroupLayout): |
| (wgpuDeviceCreateBuffer): |
| (wgpuDeviceCreateCommandEncoder): |
| (wgpuDeviceCreateComputePipeline): |
| (wgpuDeviceCreateComputePipelineAsync): |
| (wgpuDeviceCreatePipelineLayout): |
| (wgpuDeviceCreateQuerySet): |
| (wgpuDeviceCreateRenderBundleEncoder): |
| (wgpuDeviceCreateRenderPipeline): |
| (wgpuDeviceCreateRenderPipelineAsync): |
| (wgpuDeviceCreateSampler): |
| (wgpuDeviceCreateShaderModule): |
| (wgpuDeviceCreateSwapChain): |
| (wgpuDeviceCreateTexture): |
| (wgpuDeviceDestroy): |
| (wgpuDeviceGetLimits): |
| (wgpuDeviceGetQueue): |
| (wgpuDevicePopErrorScope): |
| (wgpuDevicePushErrorScope): |
| (wgpuDeviceSetDeviceLostCallback): |
| (wgpuDeviceSetUncapturedErrorCallback): |
| * WebGPU/ExportMacros.h: |
| * WebGPU/Instance.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/Instance.mm: Added. |
| (WebGPU::Instance::createSurface): |
| (WebGPU::Instance::processEvents): |
| (WebGPU::Instance::requestAdapter): |
| (wgpuInstanceRelease): |
| (wgpuCreateInstance): |
| (wgpuGetProcAddress): |
| (wgpuInstanceCreateSurface): |
| (wgpuInstanceProcessEvents): |
| (wgpuInstanceRequestAdapter): |
| * WebGPU/PipelineLayout.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/PipelineLayout.mm: Copied from Source/WebGPU/WebGPU/WebGPUObjC.mm. |
| (wgpuPipelineLayoutRelease): |
| * WebGPU/QuerySet.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/QuerySet.mm: Copied from Source/WebGPU/WebGPU/WebGPUObjC.mm. |
| (WebGPU::QuerySet::destroy): |
| (wgpuQuerySetRelease): |
| (wgpuQuerySetDestroy): |
| * WebGPU/Queue.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/Queue.mm: Added. |
| (WebGPU::Queue::onSubmittedWorkDone): |
| (WebGPU::Queue::submit): |
| (WebGPU::Queue::writeBuffer): |
| (WebGPU::Queue::writeTexture): |
| (wgpuQueueRelease): |
| (wgpuQueueOnSubmittedWorkDone): |
| (wgpuQueueSubmit): |
| (wgpuQueueWriteBuffer): |
| (wgpuQueueWriteTexture): |
| * WebGPU/RenderBundle.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/RenderBundle.mm: Copied from Source/WebGPU/WebGPU/WebGPUObjC.mm. |
| (wgpuRenderBundleRelease): |
| * WebGPU/RenderBundleEncoder.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/RenderBundleEncoder.mm: Added. |
| (WebGPU::RenderBundleEncoder::draw): |
| (WebGPU::RenderBundleEncoder::drawIndexed): |
| (WebGPU::RenderBundleEncoder::drawIndexedIndirect): |
| (WebGPU::RenderBundleEncoder::drawIndirect): |
| (WebGPU::RenderBundleEncoder::finish): |
| (WebGPU::RenderBundleEncoder::insertDebugMarker): |
| (WebGPU::RenderBundleEncoder::popDebugGroup): |
| (WebGPU::RenderBundleEncoder::pushDebugGroup): |
| (WebGPU::RenderBundleEncoder::setBindGroup): |
| (WebGPU::RenderBundleEncoder::setIndexBuffer): |
| (WebGPU::RenderBundleEncoder::setPipeline): |
| (WebGPU::RenderBundleEncoder::setVertexBuffer): |
| (wgpuRenderBundleEncoderRelease): |
| (wgpuRenderBundleEncoderDraw): |
| (wgpuRenderBundleEncoderDrawIndexed): |
| (wgpuRenderBundleEncoderDrawIndexedIndirect): |
| (wgpuRenderBundleEncoderDrawIndirect): |
| (wgpuRenderBundleEncoderFinish): |
| (wgpuRenderBundleEncoderInsertDebugMarker): |
| (wgpuRenderBundleEncoderPopDebugGroup): |
| (wgpuRenderBundleEncoderPushDebugGroup): |
| (wgpuRenderBundleEncoderSetBindGroup): |
| (wgpuRenderBundleEncoderSetIndexBuffer): |
| (wgpuRenderBundleEncoderSetPipeline): |
| (wgpuRenderBundleEncoderSetVertexBuffer): |
| * WebGPU/RenderPassEncoder.h: Added. |
| * WebGPU/RenderPassEncoder.mm: Added. |
| (WebGPU::RenderPassEncoder::beginOcclusionQuery): |
| (WebGPU::RenderPassEncoder::beginPipelineStatisticsQuery): |
| (WebGPU::RenderPassEncoder::draw): |
| (WebGPU::RenderPassEncoder::drawIndexed): |
| (WebGPU::RenderPassEncoder::drawIndexedIndirect): |
| (WebGPU::RenderPassEncoder::drawIndirect): |
| (WebGPU::RenderPassEncoder::endOcclusionQuery): |
| (WebGPU::RenderPassEncoder::endPass): |
| (WebGPU::RenderPassEncoder::endPipelineStatisticsQuery): |
| (WebGPU::RenderPassEncoder::executeBundles): |
| (WebGPU::RenderPassEncoder::insertDebugMarker): |
| (WebGPU::RenderPassEncoder::popDebugGroup): |
| (WebGPU::RenderPassEncoder::pushDebugGroup): |
| (WebGPU::RenderPassEncoder::setBindGroup): |
| (WebGPU::RenderPassEncoder::setBlendConstant): |
| (WebGPU::RenderPassEncoder::setIndexBuffer): |
| (WebGPU::RenderPassEncoder::setPipeline): |
| (WebGPU::RenderPassEncoder::setScissorRect): |
| (WebGPU::RenderPassEncoder::setStencilReference): |
| (WebGPU::RenderPassEncoder::setVertexBuffer): |
| (WebGPU::RenderPassEncoder::setViewport): |
| (WebGPU::RenderPassEncoder::writeTimestamp): |
| (wgpuRenderPassEncoderRelease): |
| (wgpuRenderPassEncoderBeginOcclusionQuery): |
| (wgpuRenderPassEncoderBeginPipelineStatisticsQuery): |
| (wgpuRenderPassEncoderDraw): |
| (wgpuRenderPassEncoderDrawIndexed): |
| (wgpuRenderPassEncoderDrawIndexedIndirect): |
| (wgpuRenderPassEncoderDrawIndirect): |
| (wgpuRenderPassEncoderEndOcclusionQuery): |
| (wgpuRenderPassEncoderEndPass): |
| (wgpuRenderPassEncoderEndPipelineStatisticsQuery): |
| (wgpuRenderPassEncoderExecuteBundles): |
| (wgpuRenderPassEncoderInsertDebugMarker): |
| (wgpuRenderPassEncoderPopDebugGroup): |
| (wgpuRenderPassEncoderPushDebugGroup): |
| (wgpuRenderPassEncoderSetBindGroup): |
| (wgpuRenderPassEncoderSetBlendConstant): |
| (wgpuRenderPassEncoderSetIndexBuffer): |
| (wgpuRenderPassEncoderSetPipeline): |
| (wgpuRenderPassEncoderSetScissorRect): |
| (wgpuRenderPassEncoderSetStencilReference): |
| (wgpuRenderPassEncoderSetVertexBuffer): |
| (wgpuRenderPassEncoderSetViewport): |
| (wgpuRenderPassEncoderWriteTimestamp): |
| * WebGPU/RenderPipeline.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/RenderPipeline.mm: Copied from Source/WebGPU/WebGPU/WebGPUObjC.mm. |
| (WebGPU::RenderPipeline::getBindGroupLayout): |
| (WebGPU::RenderPipeline::setLabel): |
| (wgpuRenderPipelineRelease): |
| (wgpuRenderPipelineGetBindGroupLayout): |
| (wgpuRenderPipelineSetLabel): |
| * WebGPU/Sampler.h: Renamed from Source/WebGPU/WebGPU/WebGPUObjC.h. |
| * WebGPU/Sampler.mm: Copied from Source/WebGPU/WebGPU/WebGPUObjC.mm. |
| (wgpuSamplerRelease): |
| * WebGPU/ShaderModule.h: |
| * WebGPU/ShaderModule.mm: Copied from Source/WebGPU/WebGPU/WebGPUObjC.mm. |
| (WebGPU::ShaderModule::setLabel): |
| (wgpuShaderModuleRelease): |
| (wgpuShaderModuleSetLabel): |
| * WebGPU/Surface.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/Surface.mm: Copied from Source/WebGPU/WebGPU/WebGPUObjC.mm. |
| (WebGPU::Surface::getPreferredFormat): |
| (wgpuSurfaceRelease): |
| (wgpuSurfaceGetPreferredFormat): |
| * WebGPU/SwapChain.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/SwapChain.mm: Copied from Source/WebGPU/WebGPU/WebGPUObjC.mm. |
| (WebGPU::SwapChain::getCurrentTextureView): |
| (WebGPU::SwapChain::present): |
| (wgpuSwapChainRelease): |
| (wgpuSwapChainGetCurrentTextureView): |
| (wgpuSwapChainPresent): |
| * WebGPU/Texture.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/Texture.mm: Copied from Source/WebGPU/WebGPU/WebGPUObjC.mm. |
| (WebGPU::Texture::createView): |
| (WebGPU::Texture::destroy): |
| (wgpuTextureRelease): |
| (wgpuTextureCreateView): |
| (wgpuTextureDestroy): |
| * WebGPU/TextureView.h: Copied from Source/WebGPU/WebGPU/ShaderModule.h. |
| * WebGPU/TextureView.mm: Renamed from Source/WebGPU/WebGPU/WebGPUObjC.mm. |
| (wgpuTextureViewRelease): |
| * WebGPU/WebGPU.modulemap: Added. |
| * WebGPU/WebGPUExt.h: Added. |
| |
| 2021-10-19 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Make WebGPU.xcodeproj and WebGPU.framework |
| https://bugs.webkit.org/show_bug.cgi?id=231661 |
| |
| Reviewed by Dean Jackson and Robin Morisset. |
| |
| We've gotten some requests to be able to use WebGPU from native code, |
| without requiring all of WebKit. This patch creates a new Xcode project |
| that creates a new framework for WebGPU, so these internal users can |
| build it / include it in their own projects. |
| |
| This project has two targets: One for WGSL and one for WebGPU. WGSL |
| creates a static library, and WebGPU links with it, and produces a |
| framework. This patch implements one dummy function from each of them. |
| |
| * Configurations/Base.xcconfig: Added. |
| * Configurations/DebugRelease.xcconfig: Added. |
| * Configurations/SDKVariant.xcconfig: Added. |
| * Configurations/WGSL.xcconfig: Added. |
| * Configurations/WebGPU.xcconfig: Added. |
| * Info.plist: Added. |
| * Makefile: Added. |
| * WGSL/AST.h: Added. |
| * WGSL/WGSL.cpp: Added. |
| (WGSL::check): |
| (WGSL::SuccessfulCheck::~SuccessfulCheck): |
| * WGSL/WGSL.h: Added. |
| * WGSL/config.h: Added. |
| * WebGPU.xcodeproj/project.pbxproj: Added. |
| * WebGPU.xcodeproj/xcshareddata/xcschemes/WGSL.xcscheme: Added. |
| * WebGPU.xcodeproj/xcshareddata/xcschemes/WebGPU.xcscheme: Added. |
| * WebGPU/ExportMacros.h: Added. |
| * WebGPU/ShaderModule.h: Added. |
| * WebGPU/WebGPU.cpp: Added. |
| (wgpuDeviceCreateShaderModule): |
| * WebGPU/WebGPU.h: Added. |
| * WebGPU/WebGPUObjC.h: Added. |
| * WebGPU/WebGPUObjC.mm: Added. |
| (objcFunction): |
| * WebGPU/config.h: Added. |