diff --git a/generator/templates/dawn_native/ProcTable.cpp b/generator/templates/dawn_native/ProcTable.cpp index 92aed37427..3e1320542c 100644 --- a/generator/templates/dawn_native/ProcTable.cpp +++ b/generator/templates/dawn_native/ProcTable.cpp @@ -26,6 +26,14 @@ namespace dawn_native { + // Type aliases to make all frontend types appear as if they have "Base" at the end when some + // of them are actually pure-frontend and don't have the Base. + using CommandEncoderBase = CommandEncoder; + using ComputePassEncoderBase = ComputePassEncoder; + using FenceBase = Fence; + using RenderPassEncoderBase = RenderPassEncoder; + using RenderBundleEncoderBase = RenderBundleEncoder; + namespace { {% for type in by_category["object"] %} diff --git a/src/dawn_native/CommandBuffer.cpp b/src/dawn_native/CommandBuffer.cpp index 79e9479de1..c042d50db3 100644 --- a/src/dawn_native/CommandBuffer.cpp +++ b/src/dawn_native/CommandBuffer.cpp @@ -19,8 +19,7 @@ namespace dawn_native { - CommandBufferBase::CommandBufferBase(CommandEncoderBase* encoder, - const CommandBufferDescriptor*) + CommandBufferBase::CommandBufferBase(CommandEncoder* encoder, const CommandBufferDescriptor*) : ObjectBase(encoder->GetDevice()), mResourceUsages(encoder->AcquireResourceUsages()) { } diff --git a/src/dawn_native/CommandBuffer.h b/src/dawn_native/CommandBuffer.h index f1b5916c52..65650bd497 100644 --- a/src/dawn_native/CommandBuffer.h +++ b/src/dawn_native/CommandBuffer.h @@ -25,7 +25,7 @@ namespace dawn_native { class CommandBufferBase : public ObjectBase { public: - CommandBufferBase(CommandEncoderBase* encoder, const CommandBufferDescriptor* descriptor); + CommandBufferBase(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor); static CommandBufferBase* MakeError(DeviceBase* device); const CommandBufferResourceUsage& GetResourceUsages() const; diff --git a/src/dawn_native/CommandEncoder.cpp b/src/dawn_native/CommandEncoder.cpp index 365c7fe63f..5af8ba0ab4 100644 --- a/src/dawn_native/CommandEncoder.cpp +++ b/src/dawn_native/CommandEncoder.cpp @@ -462,24 +462,23 @@ namespace dawn_native { } // namespace - CommandEncoderBase::CommandEncoderBase(DeviceBase* device, const CommandEncoderDescriptor*) + CommandEncoder::CommandEncoder(DeviceBase* device, const CommandEncoderDescriptor*) : ObjectBase(device), mEncodingContext(device, this) { } - CommandBufferResourceUsage CommandEncoderBase::AcquireResourceUsages() { + CommandBufferResourceUsage CommandEncoder::AcquireResourceUsages() { ASSERT(!mWereResourceUsagesAcquired); mWereResourceUsagesAcquired = true; return std::move(mResourceUsages); } - CommandIterator CommandEncoderBase::AcquireCommands() { + CommandIterator CommandEncoder::AcquireCommands() { return mEncodingContext.AcquireCommands(); } // Implementation of the API's command recording methods - ComputePassEncoderBase* CommandEncoderBase::BeginComputePass( - const ComputePassDescriptor* descriptor) { + ComputePassEncoder* CommandEncoder::BeginComputePass(const ComputePassDescriptor* descriptor) { DeviceBase* device = GetDevice(); bool success = @@ -492,17 +491,16 @@ namespace dawn_native { }); if (success) { - ComputePassEncoderBase* passEncoder = - new ComputePassEncoderBase(device, this, &mEncodingContext); + ComputePassEncoder* passEncoder = + new ComputePassEncoder(device, this, &mEncodingContext); mEncodingContext.EnterPass(passEncoder); return passEncoder; } - return ComputePassEncoderBase::MakeError(device, this, &mEncodingContext); + return ComputePassEncoder::MakeError(device, this, &mEncodingContext); } - RenderPassEncoderBase* CommandEncoderBase::BeginRenderPass( - const RenderPassDescriptor* descriptor) { + RenderPassEncoder* CommandEncoder::BeginRenderPass(const RenderPassDescriptor* descriptor) { DeviceBase* device = GetDevice(); bool success = @@ -555,20 +553,19 @@ namespace dawn_native { }); if (success) { - RenderPassEncoderBase* passEncoder = - new RenderPassEncoderBase(device, this, &mEncodingContext); + RenderPassEncoder* passEncoder = new RenderPassEncoder(device, this, &mEncodingContext); mEncodingContext.EnterPass(passEncoder); return passEncoder; } - return RenderPassEncoderBase::MakeError(device, this, &mEncodingContext); + return RenderPassEncoder::MakeError(device, this, &mEncodingContext); } - void CommandEncoderBase::CopyBufferToBuffer(BufferBase* source, - uint64_t sourceOffset, - BufferBase* destination, - uint64_t destinationOffset, - uint64_t size) { + void CommandEncoder::CopyBufferToBuffer(BufferBase* source, + uint64_t sourceOffset, + BufferBase* destination, + uint64_t destinationOffset, + uint64_t size) { mEncodingContext.TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { DAWN_TRY(GetDevice()->ValidateObject(source)); DAWN_TRY(GetDevice()->ValidateObject(destination)); @@ -585,9 +582,9 @@ namespace dawn_native { }); } - void CommandEncoderBase::CopyBufferToTexture(const BufferCopyView* source, - const TextureCopyView* destination, - const Extent3D* copySize) { + void CommandEncoder::CopyBufferToTexture(const BufferCopyView* source, + const TextureCopyView* destination, + const Extent3D* copySize) { mEncodingContext.TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { DAWN_TRY(GetDevice()->ValidateObject(source->buffer)); DAWN_TRY(GetDevice()->ValidateObject(destination->texture)); @@ -617,9 +614,9 @@ namespace dawn_native { }); } - void CommandEncoderBase::CopyTextureToBuffer(const TextureCopyView* source, - const BufferCopyView* destination, - const Extent3D* copySize) { + void CommandEncoder::CopyTextureToBuffer(const TextureCopyView* source, + const BufferCopyView* destination, + const Extent3D* copySize) { mEncodingContext.TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { DAWN_TRY(GetDevice()->ValidateObject(source->texture)); DAWN_TRY(GetDevice()->ValidateObject(destination->buffer)); @@ -649,9 +646,9 @@ namespace dawn_native { }); } - void CommandEncoderBase::CopyTextureToTexture(const TextureCopyView* source, - const TextureCopyView* destination, - const Extent3D* copySize) { + void CommandEncoder::CopyTextureToTexture(const TextureCopyView* source, + const TextureCopyView* destination, + const Extent3D* copySize) { mEncodingContext.TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { DAWN_TRY(GetDevice()->ValidateObject(source->texture)); DAWN_TRY(GetDevice()->ValidateObject(destination->texture)); @@ -672,7 +669,7 @@ namespace dawn_native { }); } - void CommandEncoderBase::InsertDebugMarker(const char* groupLabel) { + void CommandEncoder::InsertDebugMarker(const char* groupLabel) { mEncodingContext.TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { InsertDebugMarkerCmd* cmd = allocator->Allocate(Command::InsertDebugMarker); @@ -685,7 +682,7 @@ namespace dawn_native { }); } - void CommandEncoderBase::PopDebugGroup() { + void CommandEncoder::PopDebugGroup() { mEncodingContext.TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { allocator->Allocate(Command::PopDebugGroup); @@ -693,7 +690,7 @@ namespace dawn_native { }); } - void CommandEncoderBase::PushDebugGroup(const char* groupLabel) { + void CommandEncoder::PushDebugGroup(const char* groupLabel) { mEncodingContext.TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { PushDebugGroupCmd* cmd = allocator->Allocate(Command::PushDebugGroup); @@ -706,7 +703,7 @@ namespace dawn_native { }); } - CommandBufferBase* CommandEncoderBase::Finish(const CommandBufferDescriptor* descriptor) { + CommandBufferBase* CommandEncoder::Finish(const CommandBufferDescriptor* descriptor) { if (GetDevice()->ConsumedError(ValidateFinish(descriptor))) { // Even if finish validation fails, it is now invalid to call any encoding commands on // this object, so we set its state to finished. @@ -719,8 +716,8 @@ namespace dawn_native { // Implementation of the command buffer validation that can be precomputed before submit - MaybeError CommandEncoderBase::ValidateFinish(const CommandBufferDescriptor*) { - TRACE_EVENT0(GetDevice()->GetPlatform(), Validation, "CommandEncoderBase::ValidateFinish"); + MaybeError CommandEncoder::ValidateFinish(const CommandBufferDescriptor*) { + TRACE_EVENT0(GetDevice()->GetPlatform(), Validation, "CommandEncoder::ValidateFinish"); DAWN_TRY(GetDevice()->ValidateObject(this)); // Even if Finish() validation fails, calling it will mutate the internal state of the diff --git a/src/dawn_native/CommandEncoder.h b/src/dawn_native/CommandEncoder.h index 6d39ed3ddc..406ff33869 100644 --- a/src/dawn_native/CommandEncoder.h +++ b/src/dawn_native/CommandEncoder.h @@ -28,16 +28,16 @@ namespace dawn_native { struct BeginRenderPassCmd; - class CommandEncoderBase : public ObjectBase { + class CommandEncoder final : public ObjectBase { public: - CommandEncoderBase(DeviceBase* device, const CommandEncoderDescriptor* descriptor); + CommandEncoder(DeviceBase* device, const CommandEncoderDescriptor* descriptor); CommandIterator AcquireCommands(); CommandBufferResourceUsage AcquireResourceUsages(); // Dawn API - ComputePassEncoderBase* BeginComputePass(const ComputePassDescriptor* descriptor); - RenderPassEncoderBase* BeginRenderPass(const RenderPassDescriptor* descriptor); + ComputePassEncoder* BeginComputePass(const ComputePassDescriptor* descriptor); + RenderPassEncoder* BeginRenderPass(const RenderPassDescriptor* descriptor); void CopyBufferToBuffer(BufferBase* source, uint64_t sourceOffset, diff --git a/src/dawn_native/ComputePassEncoder.cpp b/src/dawn_native/ComputePassEncoder.cpp index 2a6eb42d35..3c0f442a68 100644 --- a/src/dawn_native/ComputePassEncoder.cpp +++ b/src/dawn_native/ComputePassEncoder.cpp @@ -22,28 +22,27 @@ namespace dawn_native { - ComputePassEncoderBase::ComputePassEncoderBase(DeviceBase* device, - CommandEncoderBase* commandEncoder, - EncodingContext* encodingContext) + ComputePassEncoder::ComputePassEncoder(DeviceBase* device, + CommandEncoder* commandEncoder, + EncodingContext* encodingContext) : ProgrammablePassEncoder(device, encodingContext), mCommandEncoder(commandEncoder) { } - ComputePassEncoderBase::ComputePassEncoderBase(DeviceBase* device, - CommandEncoderBase* commandEncoder, - EncodingContext* encodingContext, - ErrorTag errorTag) + ComputePassEncoder::ComputePassEncoder(DeviceBase* device, + CommandEncoder* commandEncoder, + EncodingContext* encodingContext, + ErrorTag errorTag) : ProgrammablePassEncoder(device, encodingContext, errorTag), mCommandEncoder(commandEncoder) { } - ComputePassEncoderBase* ComputePassEncoderBase::MakeError(DeviceBase* device, - CommandEncoderBase* commandEncoder, - EncodingContext* encodingContext) { - return new ComputePassEncoderBase(device, commandEncoder, encodingContext, - ObjectBase::kError); + ComputePassEncoder* ComputePassEncoder::MakeError(DeviceBase* device, + CommandEncoder* commandEncoder, + EncodingContext* encodingContext) { + return new ComputePassEncoder(device, commandEncoder, encodingContext, ObjectBase::kError); } - void ComputePassEncoderBase::EndPass() { + void ComputePassEncoder::EndPass() { if (mEncodingContext->TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { allocator->Allocate(Command::EndComputePass); @@ -53,7 +52,7 @@ namespace dawn_native { } } - void ComputePassEncoderBase::Dispatch(uint32_t x, uint32_t y, uint32_t z) { + void ComputePassEncoder::Dispatch(uint32_t x, uint32_t y, uint32_t z) { mEncodingContext->TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { DispatchCmd* dispatch = allocator->Allocate(Command::Dispatch); dispatch->x = x; @@ -64,8 +63,7 @@ namespace dawn_native { }); } - void ComputePassEncoderBase::DispatchIndirect(BufferBase* indirectBuffer, - uint64_t indirectOffset) { + void ComputePassEncoder::DispatchIndirect(BufferBase* indirectBuffer, uint64_t indirectOffset) { mEncodingContext->TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { DAWN_TRY(GetDevice()->ValidateObject(indirectBuffer)); @@ -83,7 +81,7 @@ namespace dawn_native { }); } - void ComputePassEncoderBase::SetPipeline(ComputePipelineBase* pipeline) { + void ComputePassEncoder::SetPipeline(ComputePipelineBase* pipeline) { mEncodingContext->TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { DAWN_TRY(GetDevice()->ValidateObject(pipeline)); diff --git a/src/dawn_native/ComputePassEncoder.h b/src/dawn_native/ComputePassEncoder.h index 8e4c2f6836..f790aad51e 100644 --- a/src/dawn_native/ComputePassEncoder.h +++ b/src/dawn_native/ComputePassEncoder.h @@ -20,19 +20,15 @@ namespace dawn_native { - // This is called ComputePassEncoderBase to match the code generator expectations. Note that it - // is a pure frontend type to record in its parent CommandEncoder and never has a backend - // implementation. - // TODO(cwallez@chromium.org): Remove that generator limitation and rename to ComputePassEncoder - class ComputePassEncoderBase : public ProgrammablePassEncoder { + class ComputePassEncoder final : public ProgrammablePassEncoder { public: - ComputePassEncoderBase(DeviceBase* device, - CommandEncoderBase* commandEncoder, - EncodingContext* encodingContext); + ComputePassEncoder(DeviceBase* device, + CommandEncoder* commandEncoder, + EncodingContext* encodingContext); - static ComputePassEncoderBase* MakeError(DeviceBase* device, - CommandEncoderBase* commandEncoder, - EncodingContext* encodingContext); + static ComputePassEncoder* MakeError(DeviceBase* device, + CommandEncoder* commandEncoder, + EncodingContext* encodingContext); void EndPass(); @@ -41,15 +37,15 @@ namespace dawn_native { void SetPipeline(ComputePipelineBase* pipeline); protected: - ComputePassEncoderBase(DeviceBase* device, - CommandEncoderBase* commandEncoder, - EncodingContext* encodingContext, - ErrorTag errorTag); + ComputePassEncoder(DeviceBase* device, + CommandEncoder* commandEncoder, + EncodingContext* encodingContext, + ErrorTag errorTag); private: // For render and compute passes, the encoding context is borrowed from the command encoder. // Keep a reference to the encoder to make sure the context isn't freed. - Ref mCommandEncoder; + Ref mCommandEncoder; }; } // namespace dawn_native diff --git a/src/dawn_native/Device.cpp b/src/dawn_native/Device.cpp index bbb83bd975..bfe8d09427 100644 --- a/src/dawn_native/Device.cpp +++ b/src/dawn_native/Device.cpp @@ -445,9 +445,8 @@ namespace dawn_native { // The callback is deferred so it matches the async behavior of WebGPU. mDeferredCreateBufferMappedAsyncResults.push_back(deferred_info); } - CommandEncoderBase* DeviceBase::CreateCommandEncoder( - const CommandEncoderDescriptor* descriptor) { - return new CommandEncoderBase(this, descriptor); + CommandEncoder* DeviceBase::CreateCommandEncoder(const CommandEncoderDescriptor* descriptor) { + return new CommandEncoder(this, descriptor); } ComputePipelineBase* DeviceBase::CreateComputePipeline( const ComputePipelineDescriptor* descriptor) { @@ -490,12 +489,12 @@ namespace dawn_native { return result; } - RenderBundleEncoderBase* DeviceBase::CreateRenderBundleEncoder( + RenderBundleEncoder* DeviceBase::CreateRenderBundleEncoder( const RenderBundleEncoderDescriptor* descriptor) { - RenderBundleEncoderBase* result = nullptr; + RenderBundleEncoder* result = nullptr; if (ConsumedError(CreateRenderBundleEncoderInternal(&result, descriptor))) { - return RenderBundleEncoderBase::MakeError(this); + return RenderBundleEncoder::MakeError(this); } return result; @@ -677,10 +676,10 @@ namespace dawn_native { } MaybeError DeviceBase::CreateRenderBundleEncoderInternal( - RenderBundleEncoderBase** result, + RenderBundleEncoder** result, const RenderBundleEncoderDescriptor* descriptor) { DAWN_TRY(ValidateRenderBundleEncoderDescriptor(this, descriptor)); - *result = new RenderBundleEncoderBase(this, descriptor); + *result = new RenderBundleEncoder(this, descriptor); return {}; } diff --git a/src/dawn_native/Device.h b/src/dawn_native/Device.h index af6ca98014..a1e09e65a6 100644 --- a/src/dawn_native/Device.h +++ b/src/dawn_native/Device.h @@ -85,7 +85,7 @@ namespace dawn_native { const Format& GetValidInternalFormat(wgpu::TextureFormat format) const; virtual CommandBufferBase* CreateCommandBuffer( - CommandEncoderBase* encoder, + CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) = 0; virtual Serial GetCompletedCommandSerial() const = 0; @@ -145,11 +145,11 @@ namespace dawn_native { void CreateBufferMappedAsync(const BufferDescriptor* descriptor, wgpu::BufferCreateMappedCallback callback, void* userdata); - CommandEncoderBase* CreateCommandEncoder(const CommandEncoderDescriptor* descriptor); + CommandEncoder* CreateCommandEncoder(const CommandEncoderDescriptor* descriptor); ComputePipelineBase* CreateComputePipeline(const ComputePipelineDescriptor* descriptor); PipelineLayoutBase* CreatePipelineLayout(const PipelineLayoutDescriptor* descriptor); QueueBase* CreateQueue(); - RenderBundleEncoderBase* CreateRenderBundleEncoder( + RenderBundleEncoder* CreateRenderBundleEncoder( const RenderBundleEncoderDescriptor* descriptor); RenderPipelineBase* CreateRenderPipeline(const RenderPipelineDescriptor* descriptor); SamplerBase* CreateSampler(const SamplerDescriptor* descriptor); @@ -230,7 +230,7 @@ namespace dawn_native { const PipelineLayoutDescriptor* descriptor); MaybeError CreateQueueInternal(QueueBase** result); MaybeError CreateRenderBundleEncoderInternal( - RenderBundleEncoderBase** result, + RenderBundleEncoder** result, const RenderBundleEncoderDescriptor* descriptor); MaybeError CreateRenderPipelineInternal(RenderPipelineBase** result, const RenderPipelineDescriptor* descriptor); diff --git a/src/dawn_native/Fence.cpp b/src/dawn_native/Fence.cpp index 2c506a1cd0..1ad89b9593 100644 --- a/src/dawn_native/Fence.cpp +++ b/src/dawn_native/Fence.cpp @@ -33,17 +33,17 @@ namespace dawn_native { // Fence - FenceBase::FenceBase(QueueBase* queue, const FenceDescriptor* descriptor) + Fence::Fence(QueueBase* queue, const FenceDescriptor* descriptor) : ObjectBase(queue->GetDevice()), mSignalValue(descriptor->initialValue), mCompletedValue(descriptor->initialValue), mQueue(queue) { } - FenceBase::FenceBase(DeviceBase* device, ObjectBase::ErrorTag tag) : ObjectBase(device, tag) { + Fence::Fence(DeviceBase* device, ObjectBase::ErrorTag tag) : ObjectBase(device, tag) { } - FenceBase::~FenceBase() { + Fence::~Fence() { for (auto& request : mRequests.IterateAll()) { ASSERT(!IsError()); request.completionCallback(WGPUFenceCompletionStatus_Unknown, request.userdata); @@ -52,20 +52,20 @@ namespace dawn_native { } // static - FenceBase* FenceBase::MakeError(DeviceBase* device) { - return new FenceBase(device, ObjectBase::kError); + Fence* Fence::MakeError(DeviceBase* device) { + return new Fence(device, ObjectBase::kError); } - uint64_t FenceBase::GetCompletedValue() const { + uint64_t Fence::GetCompletedValue() const { if (IsError()) { return 0; } return mCompletedValue; } - void FenceBase::OnCompletion(uint64_t value, - wgpu::FenceOnCompletionCallback callback, - void* userdata) { + void Fence::OnCompletion(uint64_t value, + wgpu::FenceOnCompletionCallback callback, + void* userdata) { if (GetDevice()->ConsumedError(ValidateOnCompletion(value))) { callback(WGPUFenceCompletionStatus_Error, userdata); return; @@ -83,23 +83,23 @@ namespace dawn_native { mRequests.Enqueue(std::move(request), value); } - uint64_t FenceBase::GetSignaledValue() const { + uint64_t Fence::GetSignaledValue() const { ASSERT(!IsError()); return mSignalValue; } - const QueueBase* FenceBase::GetQueue() const { + const QueueBase* Fence::GetQueue() const { ASSERT(!IsError()); return mQueue.Get(); } - void FenceBase::SetSignaledValue(uint64_t signalValue) { + void Fence::SetSignaledValue(uint64_t signalValue) { ASSERT(!IsError()); ASSERT(signalValue > mSignalValue); mSignalValue = signalValue; } - void FenceBase::SetCompletedValue(uint64_t completedValue) { + void Fence::SetCompletedValue(uint64_t completedValue) { ASSERT(!IsError()); ASSERT(completedValue <= mSignalValue); ASSERT(completedValue > mCompletedValue); @@ -111,7 +111,7 @@ namespace dawn_native { mRequests.ClearUpTo(mCompletedValue); } - MaybeError FenceBase::ValidateOnCompletion(uint64_t value) const { + MaybeError Fence::ValidateOnCompletion(uint64_t value) const { DAWN_TRY(GetDevice()->ValidateObject(this)); if (value > mSignalValue) { return DAWN_VALIDATION_ERROR("Value greater than fence signaled value"); diff --git a/src/dawn_native/Fence.h b/src/dawn_native/Fence.h index 7408261a47..1211ecbf8f 100644 --- a/src/dawn_native/Fence.h +++ b/src/dawn_native/Fence.h @@ -28,12 +28,12 @@ namespace dawn_native { MaybeError ValidateFenceDescriptor(const FenceDescriptor* descriptor); - class FenceBase : public ObjectBase { + class Fence final : public ObjectBase { public: - FenceBase(QueueBase* queue, const FenceDescriptor* descriptor); - ~FenceBase(); + Fence(QueueBase* queue, const FenceDescriptor* descriptor); + ~Fence(); - static FenceBase* MakeError(DeviceBase* device); + static Fence* MakeError(DeviceBase* device); uint64_t GetSignaledValue() const; const QueueBase* GetQueue() const; @@ -49,7 +49,7 @@ namespace dawn_native { void SetCompletedValue(uint64_t completedValue); private: - FenceBase(DeviceBase* device, ObjectBase::ErrorTag tag); + Fence(DeviceBase* device, ObjectBase::ErrorTag tag); MaybeError ValidateOnCompletion(uint64_t value) const; diff --git a/src/dawn_native/FenceSignalTracker.cpp b/src/dawn_native/FenceSignalTracker.cpp index 132ac9c499..1daf10a998 100644 --- a/src/dawn_native/FenceSignalTracker.cpp +++ b/src/dawn_native/FenceSignalTracker.cpp @@ -26,7 +26,7 @@ namespace dawn_native { ASSERT(mFencesInFlight.Empty()); } - void FenceSignalTracker::UpdateFenceOnComplete(FenceBase* fence, uint64_t value) { + void FenceSignalTracker::UpdateFenceOnComplete(Fence* fence, uint64_t value) { // Because we currently only have a single queue, we can simply update // the fence completed value once the last submitted serial has passed. mFencesInFlight.Enqueue(FenceInFlight{fence, value}, diff --git a/src/dawn_native/FenceSignalTracker.h b/src/dawn_native/FenceSignalTracker.h index d689277244..53333e946b 100644 --- a/src/dawn_native/FenceSignalTracker.h +++ b/src/dawn_native/FenceSignalTracker.h @@ -21,11 +21,11 @@ namespace dawn_native { class DeviceBase; - class FenceBase; + class Fence; class FenceSignalTracker { struct FenceInFlight { - Ref fence; + Ref fence; uint64_t value; }; @@ -33,7 +33,7 @@ namespace dawn_native { FenceSignalTracker(DeviceBase* device); ~FenceSignalTracker(); - void UpdateFenceOnComplete(FenceBase* fence, uint64_t value); + void UpdateFenceOnComplete(Fence* fence, uint64_t value); void Tick(Serial finishedSerial); diff --git a/src/dawn_native/Forward.h b/src/dawn_native/Forward.h index ad73beffac..948fbfd8ae 100644 --- a/src/dawn_native/Forward.h +++ b/src/dawn_native/Forward.h @@ -25,16 +25,16 @@ namespace dawn_native { class BufferBase; class ComputePipelineBase; class CommandBufferBase; - class CommandEncoderBase; - class ComputePassEncoderBase; - class FenceBase; + class CommandEncoder; + class ComputePassEncoder; + class Fence; class InstanceBase; class PipelineBase; class PipelineLayoutBase; class QueueBase; class RenderBundleBase; - class RenderBundleEncoderBase; - class RenderPassEncoderBase; + class RenderBundleEncoder; + class RenderPassEncoder; class RenderPipelineBase; class ResourceHeapBase; class SamplerBase; diff --git a/src/dawn_native/Queue.cpp b/src/dawn_native/Queue.cpp index 4552fdd476..41d16e9a50 100644 --- a/src/dawn_native/Queue.cpp +++ b/src/dawn_native/Queue.cpp @@ -47,7 +47,7 @@ namespace dawn_native { device->GetCurrentErrorScope()); } - void QueueBase::Signal(FenceBase* fence, uint64_t signalValue) { + void QueueBase::Signal(Fence* fence, uint64_t signalValue) { DeviceBase* device = GetDevice(); if (device->ConsumedError(ValidateSignal(fence, signalValue))) { return; @@ -60,12 +60,12 @@ namespace dawn_native { device->GetCurrentErrorScope()); } - FenceBase* QueueBase::CreateFence(const FenceDescriptor* descriptor) { + Fence* QueueBase::CreateFence(const FenceDescriptor* descriptor) { if (GetDevice()->ConsumedError(ValidateCreateFence(descriptor))) { - return FenceBase::MakeError(GetDevice()); + return Fence::MakeError(GetDevice()); } - return new FenceBase(this, descriptor); + return new Fence(this, descriptor); } MaybeError QueueBase::ValidateSubmit(uint32_t commandCount, @@ -98,7 +98,7 @@ namespace dawn_native { return {}; } - MaybeError QueueBase::ValidateSignal(const FenceBase* fence, uint64_t signalValue) { + MaybeError QueueBase::ValidateSignal(const Fence* fence, uint64_t signalValue) { DAWN_TRY(GetDevice()->ValidateObject(this)); DAWN_TRY(GetDevice()->ValidateObject(fence)); diff --git a/src/dawn_native/Queue.h b/src/dawn_native/Queue.h index 5d94b3ba9b..4adec04e11 100644 --- a/src/dawn_native/Queue.h +++ b/src/dawn_native/Queue.h @@ -29,15 +29,15 @@ namespace dawn_native { // Dawn API void Submit(uint32_t commandCount, CommandBufferBase* const* commands); - void Signal(FenceBase* fence, uint64_t signalValue); - FenceBase* CreateFence(const FenceDescriptor* descriptor); + void Signal(Fence* fence, uint64_t signalValue); + Fence* CreateFence(const FenceDescriptor* descriptor); private: virtual MaybeError SubmitImpl(uint32_t commandCount, CommandBufferBase* const* commands) = 0; MaybeError ValidateSubmit(uint32_t commandCount, CommandBufferBase* const* commands); - MaybeError ValidateSignal(const FenceBase* fence, uint64_t signalValue); + MaybeError ValidateSignal(const Fence* fence, uint64_t signalValue); MaybeError ValidateCreateFence(const FenceDescriptor* descriptor); }; diff --git a/src/dawn_native/RenderBundle.cpp b/src/dawn_native/RenderBundle.cpp index 9cd08ea0e6..b347886797 100644 --- a/src/dawn_native/RenderBundle.cpp +++ b/src/dawn_native/RenderBundle.cpp @@ -21,7 +21,7 @@ namespace dawn_native { - RenderBundleBase::RenderBundleBase(RenderBundleEncoderBase* encoder, + RenderBundleBase::RenderBundleBase(RenderBundleEncoder* encoder, const RenderBundleDescriptor* descriptor, AttachmentState* attachmentState, PassResourceUsage resourceUsage) diff --git a/src/dawn_native/RenderBundle.h b/src/dawn_native/RenderBundle.h index 26db850e2a..828c23be96 100644 --- a/src/dawn_native/RenderBundle.h +++ b/src/dawn_native/RenderBundle.h @@ -30,11 +30,11 @@ namespace dawn_native { struct BeginRenderPassCmd; struct RenderBundleDescriptor; - class RenderBundleEncoderBase; + class RenderBundleEncoder; class RenderBundleBase : public ObjectBase { public: - RenderBundleBase(RenderBundleEncoderBase* encoder, + RenderBundleBase(RenderBundleEncoder* encoder, const RenderBundleDescriptor* descriptor, AttachmentState* attachmentState, PassResourceUsage resourceUsage); diff --git a/src/dawn_native/RenderBundleEncoder.cpp b/src/dawn_native/RenderBundleEncoder.cpp index 5c90a4b8c7..7d89876d60 100644 --- a/src/dawn_native/RenderBundleEncoder.cpp +++ b/src/dawn_native/RenderBundleEncoder.cpp @@ -77,32 +77,31 @@ namespace dawn_native { return {}; } - RenderBundleEncoderBase::RenderBundleEncoderBase( - DeviceBase* device, - const RenderBundleEncoderDescriptor* descriptor) + RenderBundleEncoder::RenderBundleEncoder(DeviceBase* device, + const RenderBundleEncoderDescriptor* descriptor) : RenderEncoderBase(device, &mEncodingContext), mEncodingContext(device, this), mAttachmentState(device->GetOrCreateAttachmentState(descriptor)) { } - RenderBundleEncoderBase::RenderBundleEncoderBase(DeviceBase* device, ErrorTag errorTag) + RenderBundleEncoder::RenderBundleEncoder(DeviceBase* device, ErrorTag errorTag) : RenderEncoderBase(device, &mEncodingContext, errorTag), mEncodingContext(device, this) { } // static - RenderBundleEncoderBase* RenderBundleEncoderBase::MakeError(DeviceBase* device) { - return new RenderBundleEncoderBase(device, ObjectBase::kError); + RenderBundleEncoder* RenderBundleEncoder::MakeError(DeviceBase* device) { + return new RenderBundleEncoder(device, ObjectBase::kError); } - const AttachmentState* RenderBundleEncoderBase::GetAttachmentState() const { + const AttachmentState* RenderBundleEncoder::GetAttachmentState() const { return mAttachmentState.Get(); } - CommandIterator RenderBundleEncoderBase::AcquireCommands() { + CommandIterator RenderBundleEncoder::AcquireCommands() { return mEncodingContext.AcquireCommands(); } - RenderBundleBase* RenderBundleEncoderBase::Finish(const RenderBundleDescriptor* descriptor) { + RenderBundleBase* RenderBundleEncoder::Finish(const RenderBundleDescriptor* descriptor) { if (GetDevice()->ConsumedError(ValidateFinish(descriptor))) { return RenderBundleBase::MakeError(GetDevice()); } @@ -112,9 +111,8 @@ namespace dawn_native { std::move(mResourceUsage)); } - MaybeError RenderBundleEncoderBase::ValidateFinish(const RenderBundleDescriptor* descriptor) { - TRACE_EVENT0(GetDevice()->GetPlatform(), Validation, - "RenderBundleEncoderBase::ValidateFinish"); + MaybeError RenderBundleEncoder::ValidateFinish(const RenderBundleDescriptor* descriptor) { + TRACE_EVENT0(GetDevice()->GetPlatform(), Validation, "RenderBundleEncoder::ValidateFinish"); DAWN_TRY(GetDevice()->ValidateObject(this)); // Even if Finish() validation fails, calling it will mutate the internal state of the diff --git a/src/dawn_native/RenderBundleEncoder.h b/src/dawn_native/RenderBundleEncoder.h index aa322011c4..f3919b0434 100644 --- a/src/dawn_native/RenderBundleEncoder.h +++ b/src/dawn_native/RenderBundleEncoder.h @@ -26,12 +26,12 @@ namespace dawn_native { MaybeError ValidateRenderBundleEncoderDescriptor( const DeviceBase* device, const RenderBundleEncoderDescriptor* descriptor); - class RenderBundleEncoderBase : public RenderEncoderBase { - public: - RenderBundleEncoderBase(DeviceBase* device, - const RenderBundleEncoderDescriptor* descriptor); - static RenderBundleEncoderBase* MakeError(DeviceBase* device); + class RenderBundleEncoder final : public RenderEncoderBase { + public: + RenderBundleEncoder(DeviceBase* device, const RenderBundleEncoderDescriptor* descriptor); + + static RenderBundleEncoder* MakeError(DeviceBase* device); const AttachmentState* GetAttachmentState() const; @@ -40,7 +40,7 @@ namespace dawn_native { CommandIterator AcquireCommands(); private: - RenderBundleEncoderBase(DeviceBase* device, ErrorTag errorTag); + RenderBundleEncoder(DeviceBase* device, ErrorTag errorTag); MaybeError ValidateFinish(const RenderBundleDescriptor* descriptor); diff --git a/src/dawn_native/RenderPassEncoder.cpp b/src/dawn_native/RenderPassEncoder.cpp index 27f5df3326..5e74acbd51 100644 --- a/src/dawn_native/RenderPassEncoder.cpp +++ b/src/dawn_native/RenderPassEncoder.cpp @@ -27,27 +27,26 @@ namespace dawn_native { - RenderPassEncoderBase::RenderPassEncoderBase(DeviceBase* device, - CommandEncoderBase* commandEncoder, - EncodingContext* encodingContext) + RenderPassEncoder::RenderPassEncoder(DeviceBase* device, + CommandEncoder* commandEncoder, + EncodingContext* encodingContext) : RenderEncoderBase(device, encodingContext), mCommandEncoder(commandEncoder) { } - RenderPassEncoderBase::RenderPassEncoderBase(DeviceBase* device, - CommandEncoderBase* commandEncoder, - EncodingContext* encodingContext, - ErrorTag errorTag) + RenderPassEncoder::RenderPassEncoder(DeviceBase* device, + CommandEncoder* commandEncoder, + EncodingContext* encodingContext, + ErrorTag errorTag) : RenderEncoderBase(device, encodingContext, errorTag), mCommandEncoder(commandEncoder) { } - RenderPassEncoderBase* RenderPassEncoderBase::MakeError(DeviceBase* device, - CommandEncoderBase* commandEncoder, - EncodingContext* encodingContext) { - return new RenderPassEncoderBase(device, commandEncoder, encodingContext, - ObjectBase::kError); + RenderPassEncoder* RenderPassEncoder::MakeError(DeviceBase* device, + CommandEncoder* commandEncoder, + EncodingContext* encodingContext) { + return new RenderPassEncoder(device, commandEncoder, encodingContext, ObjectBase::kError); } - void RenderPassEncoderBase::EndPass() { + void RenderPassEncoder::EndPass() { if (mEncodingContext->TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { allocator->Allocate(Command::EndRenderPass); @@ -57,7 +56,7 @@ namespace dawn_native { } } - void RenderPassEncoderBase::SetStencilReference(uint32_t reference) { + void RenderPassEncoder::SetStencilReference(uint32_t reference) { mEncodingContext->TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { SetStencilReferenceCmd* cmd = allocator->Allocate(Command::SetStencilReference); @@ -67,7 +66,7 @@ namespace dawn_native { }); } - void RenderPassEncoderBase::SetBlendColor(const Color* color) { + void RenderPassEncoder::SetBlendColor(const Color* color) { mEncodingContext->TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { SetBlendColorCmd* cmd = allocator->Allocate(Command::SetBlendColor); cmd->color = *color; @@ -76,12 +75,12 @@ namespace dawn_native { }); } - void RenderPassEncoderBase::SetViewport(float x, - float y, - float width, - float height, - float minDepth, - float maxDepth) { + void RenderPassEncoder::SetViewport(float x, + float y, + float width, + float height, + float minDepth, + float maxDepth) { mEncodingContext->TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { if ((isnan(x) || isnan(y) || isnan(width) || isnan(height) || isnan(minDepth) || isnan(maxDepth))) { @@ -111,10 +110,10 @@ namespace dawn_native { }); } - void RenderPassEncoderBase::SetScissorRect(uint32_t x, - uint32_t y, - uint32_t width, - uint32_t height) { + void RenderPassEncoder::SetScissorRect(uint32_t x, + uint32_t y, + uint32_t width, + uint32_t height) { mEncodingContext->TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { if (width == 0 || height == 0) { return DAWN_VALIDATION_ERROR("Width and height must be greater than 0."); @@ -131,8 +130,7 @@ namespace dawn_native { }); } - void RenderPassEncoderBase::ExecuteBundles(uint32_t count, - RenderBundleBase* const* renderBundles) { + void RenderPassEncoder::ExecuteBundles(uint32_t count, RenderBundleBase* const* renderBundles) { mEncodingContext->TryEncode(this, [&](CommandAllocator* allocator) -> MaybeError { for (uint32_t i = 0; i < count; ++i) { DAWN_TRY(GetDevice()->ValidateObject(renderBundles[i])); diff --git a/src/dawn_native/RenderPassEncoder.h b/src/dawn_native/RenderPassEncoder.h index 4b7c06db76..12b9342094 100644 --- a/src/dawn_native/RenderPassEncoder.h +++ b/src/dawn_native/RenderPassEncoder.h @@ -22,19 +22,15 @@ namespace dawn_native { class RenderBundleBase; - // This is called RenderPassEncoderBase to match the code generator expectations. Note that it - // is a pure frontend type to record in its parent CommandEncoder and never has a backend - // implementation. - // TODO(cwallez@chromium.org): Remove that generator limitation and rename to RenderPassEncoder - class RenderPassEncoderBase : public RenderEncoderBase { + class RenderPassEncoder final : public RenderEncoderBase { public: - RenderPassEncoderBase(DeviceBase* device, - CommandEncoderBase* commandEncoder, - EncodingContext* encodingContext); + RenderPassEncoder(DeviceBase* device, + CommandEncoder* commandEncoder, + EncodingContext* encodingContext); - static RenderPassEncoderBase* MakeError(DeviceBase* device, - CommandEncoderBase* commandEncoder, - EncodingContext* encodingContext); + static RenderPassEncoder* MakeError(DeviceBase* device, + CommandEncoder* commandEncoder, + EncodingContext* encodingContext); void EndPass(); @@ -50,15 +46,15 @@ namespace dawn_native { void ExecuteBundles(uint32_t count, RenderBundleBase* const* renderBundles); protected: - RenderPassEncoderBase(DeviceBase* device, - CommandEncoderBase* commandEncoder, - EncodingContext* encodingContext, - ErrorTag errorTag); + RenderPassEncoder(DeviceBase* device, + CommandEncoder* commandEncoder, + EncodingContext* encodingContext, + ErrorTag errorTag); private: // For render and compute passes, the encoding context is borrowed from the command encoder. // Keep a reference to the encoder to make sure the context isn't freed. - Ref mCommandEncoder; + Ref mCommandEncoder; }; } // namespace dawn_native diff --git a/src/dawn_native/RenderPipeline.h b/src/dawn_native/RenderPipeline.h index 6f3f56af02..9cc76dea82 100644 --- a/src/dawn_native/RenderPipeline.h +++ b/src/dawn_native/RenderPipeline.h @@ -28,7 +28,7 @@ namespace dawn_native { struct BeginRenderPassCmd; class DeviceBase; - class RenderBundleEncoderBase; + class RenderBundleEncoder; MaybeError ValidateRenderPipelineDescriptor(const DeviceBase* device, const RenderPipelineDescriptor* descriptor); diff --git a/src/dawn_native/d3d12/CommandBufferD3D12.cpp b/src/dawn_native/d3d12/CommandBufferD3D12.cpp index ab794f82e2..1b8118ea6a 100644 --- a/src/dawn_native/d3d12/CommandBufferD3D12.cpp +++ b/src/dawn_native/d3d12/CommandBufferD3D12.cpp @@ -566,8 +566,7 @@ namespace dawn_native { namespace d3d12 { } // anonymous namespace - CommandBuffer::CommandBuffer(CommandEncoderBase* encoder, - const CommandBufferDescriptor* descriptor) + CommandBuffer::CommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) : CommandBufferBase(encoder, descriptor), mCommands(encoder->AcquireCommands()) { } diff --git a/src/dawn_native/d3d12/CommandBufferD3D12.h b/src/dawn_native/d3d12/CommandBufferD3D12.h index 52f95fd59e..d710d08da9 100644 --- a/src/dawn_native/d3d12/CommandBufferD3D12.h +++ b/src/dawn_native/d3d12/CommandBufferD3D12.h @@ -46,7 +46,7 @@ namespace dawn_native { namespace d3d12 { class CommandBuffer : public CommandBufferBase { public: - CommandBuffer(CommandEncoderBase* encoder, const CommandBufferDescriptor* descriptor); + CommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor); ~CommandBuffer(); MaybeError RecordCommands(CommandRecordingContext* commandContext, uint32_t indexInSubmit); diff --git a/src/dawn_native/d3d12/DeviceD3D12.cpp b/src/dawn_native/d3d12/DeviceD3D12.cpp index 7ce3a3e7a5..35dc6597eb 100644 --- a/src/dawn_native/d3d12/DeviceD3D12.cpp +++ b/src/dawn_native/d3d12/DeviceD3D12.cpp @@ -250,7 +250,7 @@ namespace dawn_native { namespace d3d12 { DAWN_TRY(buffer->Initialize()); return buffer.release(); } - CommandBufferBase* Device::CreateCommandBuffer(CommandEncoderBase* encoder, + CommandBufferBase* Device::CreateCommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) { return new CommandBuffer(encoder, descriptor); } diff --git a/src/dawn_native/d3d12/DeviceD3D12.h b/src/dawn_native/d3d12/DeviceD3D12.h index 8b07313bf4..2740e039bd 100644 --- a/src/dawn_native/d3d12/DeviceD3D12.h +++ b/src/dawn_native/d3d12/DeviceD3D12.h @@ -48,7 +48,7 @@ namespace dawn_native { namespace d3d12 { MaybeError Initialize(); - CommandBufferBase* CreateCommandBuffer(CommandEncoderBase* encoder, + CommandBufferBase* CreateCommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) override; Serial GetCompletedCommandSerial() const final override; diff --git a/src/dawn_native/metal/CommandBufferMTL.h b/src/dawn_native/metal/CommandBufferMTL.h index 48d46714d6..640d19666b 100644 --- a/src/dawn_native/metal/CommandBufferMTL.h +++ b/src/dawn_native/metal/CommandBufferMTL.h @@ -21,7 +21,7 @@ #import namespace dawn_native { - class CommandEncoderBase; + class CommandEncoder; } namespace dawn_native { namespace metal { @@ -31,7 +31,7 @@ namespace dawn_native { namespace metal { class CommandBuffer : public CommandBufferBase { public: - CommandBuffer(CommandEncoderBase* encoder, const CommandBufferDescriptor* descriptor); + CommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor); ~CommandBuffer(); void FillCommands(id commandBuffer); diff --git a/src/dawn_native/metal/CommandBufferMTL.mm b/src/dawn_native/metal/CommandBufferMTL.mm index 91e29df002..38294dd63c 100644 --- a/src/dawn_native/metal/CommandBufferMTL.mm +++ b/src/dawn_native/metal/CommandBufferMTL.mm @@ -591,8 +591,7 @@ namespace dawn_native { namespace metal { } // anonymous namespace - CommandBuffer::CommandBuffer(CommandEncoderBase* encoder, - const CommandBufferDescriptor* descriptor) + CommandBuffer::CommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) : CommandBufferBase(encoder, descriptor), mCommands(encoder->AcquireCommands()) { } diff --git a/src/dawn_native/metal/DeviceMTL.h b/src/dawn_native/metal/DeviceMTL.h index 5d8c671e17..4424dc8910 100644 --- a/src/dawn_native/metal/DeviceMTL.h +++ b/src/dawn_native/metal/DeviceMTL.h @@ -38,7 +38,7 @@ namespace dawn_native { namespace metal { Device(AdapterBase* adapter, id mtlDevice, const DeviceDescriptor* descriptor); ~Device(); - CommandBufferBase* CreateCommandBuffer(CommandEncoderBase* encoder, + CommandBufferBase* CreateCommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) override; Serial GetCompletedCommandSerial() const final override; diff --git a/src/dawn_native/metal/DeviceMTL.mm b/src/dawn_native/metal/DeviceMTL.mm index 8f52fe837c..891bc9b75e 100644 --- a/src/dawn_native/metal/DeviceMTL.mm +++ b/src/dawn_native/metal/DeviceMTL.mm @@ -105,7 +105,7 @@ namespace dawn_native { namespace metal { ResultOrError Device::CreateBufferImpl(const BufferDescriptor* descriptor) { return new Buffer(this, descriptor); } - CommandBufferBase* Device::CreateCommandBuffer(CommandEncoderBase* encoder, + CommandBufferBase* Device::CreateCommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) { return new CommandBuffer(encoder, descriptor); } diff --git a/src/dawn_native/null/DeviceNull.cpp b/src/dawn_native/null/DeviceNull.cpp index 207efc3d5e..1b53a014ef 100644 --- a/src/dawn_native/null/DeviceNull.cpp +++ b/src/dawn_native/null/DeviceNull.cpp @@ -103,7 +103,7 @@ namespace dawn_native { namespace null { DAWN_TRY(IncrementMemoryUsage(descriptor->size)); return new Buffer(this, descriptor); } - CommandBufferBase* Device::CreateCommandBuffer(CommandEncoderBase* encoder, + CommandBufferBase* Device::CreateCommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) { return new CommandBuffer(encoder, descriptor); } @@ -302,8 +302,7 @@ namespace dawn_native { namespace null { // CommandBuffer - CommandBuffer::CommandBuffer(CommandEncoderBase* encoder, - const CommandBufferDescriptor* descriptor) + CommandBuffer::CommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) : CommandBufferBase(encoder, descriptor), mCommands(encoder->AcquireCommands()) { } diff --git a/src/dawn_native/null/DeviceNull.h b/src/dawn_native/null/DeviceNull.h index 0ca300c94f..82b37bc798 100644 --- a/src/dawn_native/null/DeviceNull.h +++ b/src/dawn_native/null/DeviceNull.h @@ -86,7 +86,7 @@ namespace dawn_native { namespace null { Device(Adapter* adapter, const DeviceDescriptor* descriptor); ~Device(); - CommandBufferBase* CreateCommandBuffer(CommandEncoderBase* encoder, + CommandBufferBase* CreateCommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) override; Serial GetCompletedCommandSerial() const final override; @@ -178,7 +178,7 @@ namespace dawn_native { namespace null { class CommandBuffer : public CommandBufferBase { public: - CommandBuffer(CommandEncoderBase* encoder, const CommandBufferDescriptor* descriptor); + CommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor); ~CommandBuffer(); private: diff --git a/src/dawn_native/opengl/CommandBufferGL.cpp b/src/dawn_native/opengl/CommandBufferGL.cpp index 48e36058da..3993d5f107 100644 --- a/src/dawn_native/opengl/CommandBufferGL.cpp +++ b/src/dawn_native/opengl/CommandBufferGL.cpp @@ -394,8 +394,7 @@ namespace dawn_native { namespace opengl { } // namespace - CommandBuffer::CommandBuffer(CommandEncoderBase* encoder, - const CommandBufferDescriptor* descriptor) + CommandBuffer::CommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) : CommandBufferBase(encoder, descriptor), mCommands(encoder->AcquireCommands()) { } diff --git a/src/dawn_native/opengl/CommandBufferGL.h b/src/dawn_native/opengl/CommandBufferGL.h index 45fb7e0225..89bde6e1c9 100644 --- a/src/dawn_native/opengl/CommandBufferGL.h +++ b/src/dawn_native/opengl/CommandBufferGL.h @@ -28,7 +28,7 @@ namespace dawn_native { namespace opengl { class CommandBuffer : public CommandBufferBase { public: - CommandBuffer(CommandEncoderBase* encoder, const CommandBufferDescriptor* descriptor); + CommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor); ~CommandBuffer(); void Execute(); diff --git a/src/dawn_native/opengl/DeviceGL.cpp b/src/dawn_native/opengl/DeviceGL.cpp index a306e743b5..d27c2f5591 100644 --- a/src/dawn_native/opengl/DeviceGL.cpp +++ b/src/dawn_native/opengl/DeviceGL.cpp @@ -75,7 +75,7 @@ namespace dawn_native { namespace opengl { ResultOrError Device::CreateBufferImpl(const BufferDescriptor* descriptor) { return new Buffer(this, descriptor); } - CommandBufferBase* Device::CreateCommandBuffer(CommandEncoderBase* encoder, + CommandBufferBase* Device::CreateCommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) { return new CommandBuffer(encoder, descriptor); } diff --git a/src/dawn_native/opengl/DeviceGL.h b/src/dawn_native/opengl/DeviceGL.h index 5bafeddfcc..757f27cd9d 100644 --- a/src/dawn_native/opengl/DeviceGL.h +++ b/src/dawn_native/opengl/DeviceGL.h @@ -47,7 +47,7 @@ namespace dawn_native { namespace opengl { void SubmitFenceSync(); // Dawn API - CommandBufferBase* CreateCommandBuffer(CommandEncoderBase* encoder, + CommandBufferBase* CreateCommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) override; Serial GetCompletedCommandSerial() const final override; diff --git a/src/dawn_native/vulkan/CommandBufferVk.cpp b/src/dawn_native/vulkan/CommandBufferVk.cpp index f8bcaf1db1..d88512233d 100644 --- a/src/dawn_native/vulkan/CommandBufferVk.cpp +++ b/src/dawn_native/vulkan/CommandBufferVk.cpp @@ -351,13 +351,12 @@ namespace dawn_native { namespace vulkan { } // anonymous namespace // static - CommandBuffer* CommandBuffer::Create(CommandEncoderBase* encoder, + CommandBuffer* CommandBuffer::Create(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) { return new CommandBuffer(encoder, descriptor); } - CommandBuffer::CommandBuffer(CommandEncoderBase* encoder, - const CommandBufferDescriptor* descriptor) + CommandBuffer::CommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) : CommandBufferBase(encoder, descriptor), mCommands(encoder->AcquireCommands()) { } diff --git a/src/dawn_native/vulkan/CommandBufferVk.h b/src/dawn_native/vulkan/CommandBufferVk.h index e1b2e5a660..1b3994941e 100644 --- a/src/dawn_native/vulkan/CommandBufferVk.h +++ b/src/dawn_native/vulkan/CommandBufferVk.h @@ -33,14 +33,14 @@ namespace dawn_native { namespace vulkan { class CommandBuffer : public CommandBufferBase { public: - static CommandBuffer* Create(CommandEncoderBase* encoder, + static CommandBuffer* Create(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor); ~CommandBuffer(); MaybeError RecordCommands(CommandRecordingContext* recordingContext); private: - CommandBuffer(CommandEncoderBase* encoder, const CommandBufferDescriptor* descriptor); + CommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor); void RecordComputePass(CommandRecordingContext* recordingContext); MaybeError RecordRenderPass(CommandRecordingContext* recordingContext, diff --git a/src/dawn_native/vulkan/DeviceVk.cpp b/src/dawn_native/vulkan/DeviceVk.cpp index 7e00edd8b2..7f895bd474 100644 --- a/src/dawn_native/vulkan/DeviceVk.cpp +++ b/src/dawn_native/vulkan/DeviceVk.cpp @@ -164,7 +164,7 @@ namespace dawn_native { namespace vulkan { ResultOrError Device::CreateBufferImpl(const BufferDescriptor* descriptor) { return Buffer::Create(this, descriptor); } - CommandBufferBase* Device::CreateCommandBuffer(CommandEncoderBase* encoder, + CommandBufferBase* Device::CreateCommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) { return CommandBuffer::Create(encoder, descriptor); } diff --git a/src/dawn_native/vulkan/DeviceVk.h b/src/dawn_native/vulkan/DeviceVk.h index 1b6d93c014..0e4feeef8f 100644 --- a/src/dawn_native/vulkan/DeviceVk.h +++ b/src/dawn_native/vulkan/DeviceVk.h @@ -77,7 +77,7 @@ namespace dawn_native { namespace vulkan { ExternalSemaphoreHandle* outHandle); // Dawn API - CommandBufferBase* CreateCommandBuffer(CommandEncoderBase* encoder, + CommandBufferBase* CreateCommandBuffer(CommandEncoder* encoder, const CommandBufferDescriptor* descriptor) override; Serial GetCompletedCommandSerial() const final override;