| /* |
| * Copyright (c) 2021 Apple Inc. All rights reserved. |
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions |
| * are met: |
| * 1. Redistributions of source code must retain the above copyright |
| * notice, this list of conditions and the following disclaimer. |
| * 2. Redistributions in binary form must reproduce the above copyright |
| * notice, this list of conditions and the following disclaimer in the |
| * documentation and/or other materials provided with the distribution. |
| * |
| * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY |
| * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
| * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR |
| * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
| * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
| * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
| * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
| * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| */ |
| |
| #import "config.h" |
| #import "CommandEncoder.h" |
| |
| #import "Buffer.h" |
| #import "CommandBuffer.h" |
| #import "ComputePassEncoder.h" |
| #import "QuerySet.h" |
| #import "RenderPassEncoder.h" |
| #import "WebGPUExt.h" |
| |
| namespace WebGPU { |
| |
| ComputePassEncoder CommandEncoder::beginComputePass(const WGPUComputePassDescriptor* descriptor) |
| { |
| UNUSED_PARAM(descriptor); |
| return { }; |
| } |
| |
| RenderPassEncoder CommandEncoder::beginRenderPass(const WGPURenderPassDescriptor* descriptor) |
| { |
| UNUSED_PARAM(descriptor); |
| return { }; |
| } |
| |
| void CommandEncoder::copyBufferToBuffer(const Buffer& source, uint64_t sourceOffset, const Buffer& destination, uint64_t destinationOffset, uint64_t size) |
| { |
| UNUSED_PARAM(source); |
| UNUSED_PARAM(sourceOffset); |
| UNUSED_PARAM(destination); |
| UNUSED_PARAM(destinationOffset); |
| UNUSED_PARAM(size); |
| } |
| |
| void CommandEncoder::copyBufferToTexture(const WGPUImageCopyBuffer* source, const WGPUImageCopyTexture* destination, const WGPUExtent3D* copySize) |
| { |
| UNUSED_PARAM(source); |
| UNUSED_PARAM(destination); |
| UNUSED_PARAM(copySize); |
| } |
| |
| void CommandEncoder::copyTextureToBuffer(const WGPUImageCopyTexture* source, const WGPUImageCopyBuffer* destination, const WGPUExtent3D* copySize) |
| { |
| UNUSED_PARAM(source); |
| UNUSED_PARAM(destination); |
| UNUSED_PARAM(copySize); |
| } |
| |
| void CommandEncoder::copyTextureToTexture(const WGPUImageCopyTexture* source, const WGPUImageCopyTexture* destination, const WGPUExtent3D* copySize) |
| { |
| UNUSED_PARAM(source); |
| UNUSED_PARAM(destination); |
| UNUSED_PARAM(copySize); |
| } |
| |
| void CommandEncoder::fillBuffer(const Buffer& destination, uint64_t destinationOffset, uint64_t size) |
| { |
| UNUSED_PARAM(destination); |
| UNUSED_PARAM(destinationOffset); |
| UNUSED_PARAM(size); |
| } |
| |
| CommandBuffer CommandEncoder::finish(const WGPUCommandBufferDescriptor* descriptor) |
| { |
| UNUSED_PARAM(descriptor); |
| return { }; |
| } |
| |
| void CommandEncoder::insertDebugMarker(const char* markerLabel) |
| { |
| UNUSED_PARAM(markerLabel); |
| } |
| |
| void CommandEncoder::popDebugGroup() |
| { |
| } |
| |
| void CommandEncoder::pushDebugGroup(const char* groupLabel) |
| { |
| UNUSED_PARAM(groupLabel); |
| } |
| |
| void CommandEncoder::resolveQuerySet(const QuerySet& querySet, uint32_t firstQuery, uint32_t queryCount, const Buffer& destination, uint64_t destinationOffset) |
| { |
| UNUSED_PARAM(querySet); |
| UNUSED_PARAM(firstQuery); |
| UNUSED_PARAM(queryCount); |
| UNUSED_PARAM(destination); |
| UNUSED_PARAM(destinationOffset); |
| } |
| |
| void CommandEncoder::writeTimestamp(const QuerySet& querySet, uint32_t queryIndex) |
| { |
| UNUSED_PARAM(querySet); |
| UNUSED_PARAM(queryIndex); |
| } |
| |
| void CommandEncoder::setLabel(const char* label) |
| { |
| UNUSED_PARAM(label); |
| } |
| |
| } // namespace WebGPU |
| |
| void wgpuCommandEncoderRelease(WGPUCommandEncoder commandEncoder) |
| { |
| delete commandEncoder; |
| } |
| |
| WGPUComputePassEncoder wgpuCommandEncoderBeginComputePass(WGPUCommandEncoder commandEncoder, const WGPUComputePassDescriptor* descriptor) |
| { |
| return new WGPUComputePassEncoderImpl { commandEncoder->commandEncoder.beginComputePass(descriptor) }; |
| } |
| |
| WGPURenderPassEncoder wgpuCommandEncoderBeginRenderPass(WGPUCommandEncoder commandEncoder, const WGPURenderPassDescriptor* descriptor) |
| { |
| return new WGPURenderPassEncoderImpl { commandEncoder->commandEncoder.beginRenderPass(descriptor) }; |
| } |
| |
| void wgpuCommandEncoderCopyBufferToBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer source, uint64_t sourceOffset, WGPUBuffer destination, uint64_t destinationOffset, uint64_t size) |
| { |
| commandEncoder->commandEncoder.copyBufferToBuffer(source->buffer, sourceOffset, destination->buffer, destinationOffset, size); |
| } |
| |
| void wgpuCommandEncoderCopyBufferToTexture(WGPUCommandEncoder commandEncoder, const WGPUImageCopyBuffer* source, const WGPUImageCopyTexture* destination, const WGPUExtent3D* copySize) |
| { |
| commandEncoder->commandEncoder.copyBufferToTexture(source, destination, copySize); |
| } |
| |
| void wgpuCommandEncoderCopyTextureToBuffer(WGPUCommandEncoder commandEncoder, const WGPUImageCopyTexture* source, const WGPUImageCopyBuffer* destination, const WGPUExtent3D* copySize) |
| { |
| commandEncoder->commandEncoder.copyTextureToBuffer(source, destination, copySize); |
| } |
| |
| void wgpuCommandEncoderCopyTextureToTexture(WGPUCommandEncoder commandEncoder, const WGPUImageCopyTexture* source, const WGPUImageCopyTexture* destination, const WGPUExtent3D* copySize) |
| { |
| commandEncoder->commandEncoder.copyTextureToTexture(source, destination, copySize); |
| } |
| |
| void wgpuCommandEncoderFillBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer destination, uint64_t destinationOffset, uint64_t size) |
| { |
| commandEncoder->commandEncoder.fillBuffer(destination->buffer, destinationOffset, size); |
| } |
| |
| WGPUCommandBuffer wgpuCommandEncoderFinish(WGPUCommandEncoder commandEncoder, const WGPUCommandBufferDescriptor* descriptor) |
| { |
| return new WGPUCommandBufferImpl { commandEncoder->commandEncoder.finish(descriptor) }; |
| } |
| |
| void wgpuCommandEncoderInsertDebugMarker(WGPUCommandEncoder commandEncoder, const char* markerLabel) |
| { |
| commandEncoder->commandEncoder.insertDebugMarker(markerLabel); |
| } |
| |
| void wgpuCommandEncoderPopDebugGroup(WGPUCommandEncoder commandEncoder) |
| { |
| commandEncoder->commandEncoder.popDebugGroup(); |
| } |
| |
| void wgpuCommandEncoderPushDebugGroup(WGPUCommandEncoder commandEncoder, const char* groupLabel) |
| { |
| commandEncoder->commandEncoder.pushDebugGroup(groupLabel); |
| } |
| |
| void wgpuCommandEncoderResolveQuerySet(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t firstQuery, uint32_t queryCount, WGPUBuffer destination, uint64_t destinationOffset) |
| { |
| commandEncoder->commandEncoder.resolveQuerySet(querySet->querySet, firstQuery, queryCount, destination->buffer, destinationOffset); |
| } |
| |
| void wgpuCommandEncoderWriteTimestamp(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t queryIndex) |
| { |
| commandEncoder->commandEncoder.writeTimestamp(querySet->querySet, queryIndex); |
| } |
| |
| void wgpuCommandEncoderSetLabel(WGPUCommandEncoder commandEncoder, const char* label) |
| { |
| commandEncoder->commandEncoder.setLabel(label); |
| } |
| |