mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-16 08:27:05 +00:00
WebGPU error handling 5: Move CmdBufBuilder logic to CmdEncoder
This removes the CommandBufferBuilder and copies all the logic into CommandEncoderBase instead. No changes were done to the logic except for the implementation of CommandEncoderBase::HandleError and Finish. BUG=dawn:8 Change-Id: I7b6f44c3cf501477422f067bd277cef470073860 Reviewed-on: https://dawn-review.googlesource.com/c/4820 Reviewed-by: Austin Eng <enga@chromium.org> Reviewed-by: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
3499d3ee97
commit
f20f5b9493
@@ -15,9 +15,11 @@
|
||||
#include "dawn_native/opengl/CommandBufferGL.h"
|
||||
|
||||
#include "dawn_native/BindGroup.h"
|
||||
#include "dawn_native/CommandEncoder.h"
|
||||
#include "dawn_native/Commands.h"
|
||||
#include "dawn_native/opengl/BufferGL.h"
|
||||
#include "dawn_native/opengl/ComputePipelineGL.h"
|
||||
#include "dawn_native/opengl/DeviceGL.h"
|
||||
#include "dawn_native/opengl/Forward.h"
|
||||
#include "dawn_native/opengl/InputStateGL.h"
|
||||
#include "dawn_native/opengl/PersistentPipelineStateGL.h"
|
||||
@@ -281,8 +283,8 @@ namespace dawn_native { namespace opengl {
|
||||
}
|
||||
} // namespace
|
||||
|
||||
CommandBuffer::CommandBuffer(CommandBufferBuilder* builder)
|
||||
: CommandBufferBase(builder), mCommands(builder->AcquireCommands()) {
|
||||
CommandBuffer::CommandBuffer(Device* device, CommandEncoderBase* encoder)
|
||||
: CommandBufferBase(device, encoder), mCommands(encoder->AcquireCommands()) {
|
||||
}
|
||||
|
||||
CommandBuffer::~CommandBuffer() {
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace dawn_native { namespace opengl {
|
||||
|
||||
class CommandBuffer : public CommandBufferBase {
|
||||
public:
|
||||
CommandBuffer(CommandBufferBuilder* builder);
|
||||
CommandBuffer(Device* device, CommandEncoderBase* encoder);
|
||||
~CommandBuffer();
|
||||
|
||||
void Execute();
|
||||
|
||||
@@ -61,8 +61,8 @@ namespace dawn_native { namespace opengl {
|
||||
ResultOrError<BufferBase*> Device::CreateBufferImpl(const BufferDescriptor* descriptor) {
|
||||
return new Buffer(this, descriptor);
|
||||
}
|
||||
CommandBufferBase* Device::CreateCommandBuffer(CommandBufferBuilder* builder) {
|
||||
return new CommandBuffer(builder);
|
||||
CommandBufferBase* Device::CreateCommandBuffer(CommandEncoderBase* encoder) {
|
||||
return new CommandBuffer(this, encoder);
|
||||
}
|
||||
ResultOrError<ComputePipelineBase*> Device::CreateComputePipelineImpl(
|
||||
const ComputePipelineDescriptor* descriptor) {
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace dawn_native { namespace opengl {
|
||||
void SubmitFenceSync();
|
||||
|
||||
// Dawn API
|
||||
CommandBufferBase* CreateCommandBuffer(CommandBufferBuilder* builder) override;
|
||||
CommandBufferBase* CreateCommandBuffer(CommandEncoderBase* encoder) override;
|
||||
InputStateBase* CreateInputState(InputStateBuilder* builder) override;
|
||||
RenderPassDescriptorBase* CreateRenderPassDescriptor(
|
||||
RenderPassDescriptorBuilder* builder) override;
|
||||
|
||||
Reference in New Issue
Block a user