mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-16 08:27:05 +00:00
Descriptorize Buffer
We still keep a dummy BufferBuilder object around so that it can be used for the builder error callback tests of the wire. Change-Id: If0c502bb8b62ee3ed61815e34e9b6ee6c03a65ef
This commit is contained in:
committed by
Corentin Wallez
parent
0202250464
commit
82b6573d54
@@ -14,11 +14,14 @@
|
||||
|
||||
#include "dawn_native/opengl/BufferGL.h"
|
||||
|
||||
#include "dawn_native/opengl/DeviceGL.h"
|
||||
|
||||
namespace dawn_native { namespace opengl {
|
||||
|
||||
// Buffer
|
||||
|
||||
Buffer::Buffer(BufferBuilder* builder) : BufferBase(builder) {
|
||||
Buffer::Buffer(Device* device, const BufferDescriptor* descriptor)
|
||||
: BufferBase(device, descriptor) {
|
||||
glGenBuffers(1, &mBuffer);
|
||||
glBindBuffer(GL_ARRAY_BUFFER, mBuffer);
|
||||
glBufferData(GL_ARRAY_BUFFER, GetSize(), nullptr, GL_STATIC_DRAW);
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace dawn_native { namespace opengl {
|
||||
|
||||
class Buffer : public BufferBase {
|
||||
public:
|
||||
Buffer(BufferBuilder* builder);
|
||||
Buffer(Device* device, const BufferDescriptor* descriptor);
|
||||
|
||||
GLuint GetHandle() const;
|
||||
|
||||
|
||||
@@ -56,8 +56,8 @@ namespace dawn_native { namespace opengl {
|
||||
BlendStateBase* Device::CreateBlendState(BlendStateBuilder* builder) {
|
||||
return new BlendState(builder);
|
||||
}
|
||||
BufferBase* Device::CreateBuffer(BufferBuilder* builder) {
|
||||
return new Buffer(builder);
|
||||
ResultOrError<BufferBase*> Device::CreateBufferImpl(const BufferDescriptor* descriptor) {
|
||||
return new Buffer(this, descriptor);
|
||||
}
|
||||
BufferViewBase* Device::CreateBufferView(BufferViewBuilder* builder) {
|
||||
return new BufferView(builder);
|
||||
|
||||
@@ -34,7 +34,6 @@ namespace dawn_native { namespace opengl {
|
||||
public:
|
||||
BindGroupBase* CreateBindGroup(BindGroupBuilder* builder) override;
|
||||
BlendStateBase* CreateBlendState(BlendStateBuilder* builder) override;
|
||||
BufferBase* CreateBuffer(BufferBuilder* builder) override;
|
||||
BufferViewBase* CreateBufferView(BufferViewBuilder* builder) override;
|
||||
CommandBufferBase* CreateCommandBuffer(CommandBufferBuilder* builder) override;
|
||||
ComputePipelineBase* CreateComputePipeline(ComputePipelineBuilder* builder) override;
|
||||
@@ -52,6 +51,7 @@ namespace dawn_native { namespace opengl {
|
||||
private:
|
||||
ResultOrError<BindGroupLayoutBase*> CreateBindGroupLayoutImpl(
|
||||
const BindGroupLayoutDescriptor* descriptor) override;
|
||||
ResultOrError<BufferBase*> CreateBufferImpl(const BufferDescriptor* descriptor) override;
|
||||
ResultOrError<PipelineLayoutBase*> CreatePipelineLayoutImpl(
|
||||
const PipelineLayoutDescriptor* descriptor) override;
|
||||
ResultOrError<QueueBase*> CreateQueueImpl() override;
|
||||
|
||||
Reference in New Issue
Block a user