diff options
| author | assiduous <assiduous@diligentgraphics.com> | 2021-02-18 21:27:48 +0000 |
|---|---|---|
| committer | assiduous <assiduous@diligentgraphics.com> | 2021-03-19 00:38:08 +0000 |
| commit | b981b4a269cdca5cfb78df741a2016e3c9c9afb8 (patch) | |
| tree | de730ec3f21f86db2b0cfdd96b1c1d00e6d18f1c /Graphics/GraphicsEngineD3D12 | |
| parent | Imlemented workarounds for tests failing due to D3D12 WARP resource array ind... (diff) | |
| download | DiligentCore-b981b4a269cdca5cfb78df741a2016e3c9c9afb8.tar.gz DiligentCore-b981b4a269cdca5cfb78df741a2016e3c9c9afb8.zip | |
Few minor updates to BufferD3D12Impl and BufferViewD3D12Impl
Diffstat (limited to 'Graphics/GraphicsEngineD3D12')
3 files changed, 15 insertions, 15 deletions
diff --git a/Graphics/GraphicsEngineD3D12/include/BufferD3D12Impl.hpp b/Graphics/GraphicsEngineD3D12/include/BufferD3D12Impl.hpp index 74d5c38c..33dde6e4 100644 --- a/Graphics/GraphicsEngineD3D12/include/BufferD3D12Impl.hpp +++ b/Graphics/GraphicsEngineD3D12/include/BufferD3D12Impl.hpp @@ -49,18 +49,18 @@ class BufferD3D12Impl final : public BufferBase<IBufferD3D12, RenderDeviceD3D12I public: using TBufferBase = BufferBase<IBufferD3D12, RenderDeviceD3D12Impl, BufferViewD3D12Impl, FixedBlockMemoryAllocator>; - BufferD3D12Impl(IReferenceCounters* pRefCounters, - FixedBlockMemoryAllocator& BuffViewObjMemAllocator, - class RenderDeviceD3D12Impl* pDeviceD3D12, - const BufferDesc& BuffDesc, - const BufferData* pBuffData = nullptr); - - BufferD3D12Impl(IReferenceCounters* pRefCounters, - FixedBlockMemoryAllocator& BuffViewObjMemAllocator, - class RenderDeviceD3D12Impl* pDeviceD3D12, - const BufferDesc& BuffDesc, - RESOURCE_STATE InitialState, - ID3D12Resource* pd3d12Buffer); + BufferD3D12Impl(IReferenceCounters* pRefCounters, + FixedBlockMemoryAllocator& BuffViewObjMemAllocator, + RenderDeviceD3D12Impl* pDeviceD3D12, + const BufferDesc& BuffDesc, + const BufferData* pBuffData = nullptr); + + BufferD3D12Impl(IReferenceCounters* pRefCounters, + FixedBlockMemoryAllocator& BuffViewObjMemAllocator, + RenderDeviceD3D12Impl* pDeviceD3D12, + const BufferDesc& BuffDesc, + RESOURCE_STATE InitialState, + ID3D12Resource* pd3d12Buffer); ~BufferD3D12Impl(); IMPLEMENT_QUERY_INTERFACE_IN_PLACE(IID_BufferD3D12, TBufferBase) diff --git a/Graphics/GraphicsEngineD3D12/include/BufferViewD3D12Impl.hpp b/Graphics/GraphicsEngineD3D12/include/BufferViewD3D12Impl.hpp index 326bee06..74d541e1 100644 --- a/Graphics/GraphicsEngineD3D12/include/BufferViewD3D12Impl.hpp +++ b/Graphics/GraphicsEngineD3D12/include/BufferViewD3D12Impl.hpp @@ -39,8 +39,6 @@ namespace Diligent { -class FixedBlockMemoryAllocator; - /// Buffer view implementation in Direct3D12 backend. class BufferViewD3D12Impl final : public BufferViewBase<IBufferViewD3D12, RenderDeviceD3D12Impl> { diff --git a/Graphics/GraphicsEngineD3D12/src/BufferD3D12Impl.cpp b/Graphics/GraphicsEngineD3D12/src/BufferD3D12Impl.cpp index ac5d94d1..5bb96c8c 100644 --- a/Graphics/GraphicsEngineD3D12/src/BufferD3D12Impl.cpp +++ b/Graphics/GraphicsEngineD3D12/src/BufferD3D12Impl.cpp @@ -94,7 +94,9 @@ BufferD3D12Impl::BufferD3D12Impl(IReferenceCounters* pRefCounters, m_Desc.uiSizeInBytes = (m_Desc.uiSizeInBytes + AlignmentMask) & (~AlignmentMask); - if (m_Desc.Usage == USAGE_DYNAMIC && (m_Desc.BindFlags & BIND_UNORDERED_ACCESS) == 0 && BuffDesc.Mode != BUFFER_MODE_FORMATTED) + if ((m_Desc.Usage == USAGE_DYNAMIC) && + (m_Desc.BindFlags & BIND_UNORDERED_ACCESS) == 0 && + (BuffDesc.Mode == BUFFER_MODE_UNDEFINED || BuffDesc.Mode == BUFFER_MODE_STRUCTURED)) { // Dynamic constant/vertex/index buffers are suballocated in the upload heap when Map() is called. // Dynamic buffers with UAV flags as well as formatted buffers need to be allocated in GPU-only memory. |
