mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-18 09:25:25 +00:00
Don't leak buffers if MapAtCreation fails.
This required changing DeviceBase::CreateBufferImpl to return ResultOrError<Ref<BufferBase>> Bug: chromium:1103154 Change-Id: I1a5811d293333b6ef29c988a08f2f1f84ac65702 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24500 Commit-Queue: Kai Ninomiya <kainino@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Reviewed-by: Kai Ninomiya <kainino@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
519edd5890
commit
8a9919980f
@@ -102,8 +102,8 @@ namespace dawn_native { namespace opengl {
|
||||
const BindGroupLayoutDescriptor* descriptor) {
|
||||
return new BindGroupLayout(this, descriptor);
|
||||
}
|
||||
ResultOrError<BufferBase*> Device::CreateBufferImpl(const BufferDescriptor* descriptor) {
|
||||
return new Buffer(this, descriptor);
|
||||
ResultOrError<Ref<BufferBase>> Device::CreateBufferImpl(const BufferDescriptor* descriptor) {
|
||||
return AcquireRef(new Buffer(this, descriptor));
|
||||
}
|
||||
CommandBufferBase* Device::CreateCommandBuffer(CommandEncoder* encoder,
|
||||
const CommandBufferDescriptor* descriptor) {
|
||||
|
||||
@@ -71,7 +71,8 @@ namespace dawn_native { namespace opengl {
|
||||
const BindGroupDescriptor* descriptor) override;
|
||||
ResultOrError<BindGroupLayoutBase*> CreateBindGroupLayoutImpl(
|
||||
const BindGroupLayoutDescriptor* descriptor) override;
|
||||
ResultOrError<BufferBase*> CreateBufferImpl(const BufferDescriptor* descriptor) override;
|
||||
ResultOrError<Ref<BufferBase>> CreateBufferImpl(
|
||||
const BufferDescriptor* descriptor) override;
|
||||
ResultOrError<ComputePipelineBase*> CreateComputePipelineImpl(
|
||||
const ComputePipelineDescriptor* descriptor) override;
|
||||
ResultOrError<PipelineLayoutBase*> CreatePipelineLayoutImpl(
|
||||
|
||||
Reference in New Issue
Block a user