diff --git a/Source/Engine/Graphics/DynamicBuffer.cpp b/Source/Engine/Graphics/DynamicBuffer.cpp index 29882aef5..d4db1b957 100644 --- a/Source/Engine/Graphics/DynamicBuffer.cpp +++ b/Source/Engine/Graphics/DynamicBuffer.cpp @@ -89,6 +89,12 @@ void DynamicBuffer::Dispose() Data.Resize(0); } +void DynamicStructuredBuffer::InitDesc(GPUBufferDescription& desc, int32 numElements) +{ + desc = GPUBufferDescription::Structured(numElements, _stride, _isUnorderedAccess); + desc.Usage = GPUResourceUsage::Dynamic; +} + DynamicTypedBuffer::DynamicTypedBuffer(uint32 initialCapacity, PixelFormat format, bool isUnorderedAccess, const String& name) : DynamicBuffer(initialCapacity, PixelFormatExtensions::SizeInBytes(format), name) , _format(format) @@ -101,5 +107,5 @@ void DynamicTypedBuffer::InitDesc(GPUBufferDescription& desc, int32 numElements) auto bufferFlags = GPUBufferFlags::ShaderResource; if (_isUnorderedAccess) bufferFlags |= GPUBufferFlags::UnorderedAccess; - desc = GPUBufferDescription::Buffer(numElements * _stride, bufferFlags, _format, nullptr, _stride); + desc = GPUBufferDescription::Buffer(numElements * _stride, bufferFlags, _format, nullptr, _stride, GPUResourceUsage::Dynamic); } diff --git a/Source/Engine/Graphics/DynamicBuffer.h b/Source/Engine/Graphics/DynamicBuffer.h index 507c284de..9f251ff14 100644 --- a/Source/Engine/Graphics/DynamicBuffer.h +++ b/Source/Engine/Graphics/DynamicBuffer.h @@ -197,10 +197,7 @@ public: protected: // [DynamicBuffer] - void InitDesc(GPUBufferDescription& desc, int32 numElements) override - { - desc = GPUBufferDescription::Structured(numElements, _stride, _isUnorderedAccess); - } + void InitDesc(GPUBufferDescription& desc, int32 numElements) override; }; ///