From c7391919d2e9d34e7f4fc18e8ffc174a9eabfb5e Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Thu, 4 Oct 2018 21:51:33 -0700 Subject: Reworked context pool management in D3D12 --- Graphics/GraphicsEngineD3DBase/include/ShaderResources.h | 2 +- Graphics/GraphicsEngineD3DBase/src/ShaderResources.cpp | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) (limited to 'Graphics/GraphicsEngineD3DBase') diff --git a/Graphics/GraphicsEngineD3DBase/include/ShaderResources.h b/Graphics/GraphicsEngineD3DBase/include/ShaderResources.h index 68925551..c468eebd 100644 --- a/Graphics/GraphicsEngineD3DBase/include/ShaderResources.h +++ b/Graphics/GraphicsEngineD3DBase/include/ShaderResources.h @@ -273,7 +273,7 @@ static_assert(sizeof(D3DShaderResourceAttribs) == sizeof(void*) + sizeof(Uint32) class ShaderResources { public: - ShaderResources(IMemoryAllocator &Allocator, SHADER_TYPE ShaderType); + ShaderResources(SHADER_TYPE ShaderType); ShaderResources (const ShaderResources&) = delete; ShaderResources (ShaderResources&&) = delete; diff --git a/Graphics/GraphicsEngineD3DBase/src/ShaderResources.cpp b/Graphics/GraphicsEngineD3DBase/src/ShaderResources.cpp index f0585f9d..f3045121 100644 --- a/Graphics/GraphicsEngineD3DBase/src/ShaderResources.cpp +++ b/Graphics/GraphicsEngineD3DBase/src/ShaderResources.cpp @@ -60,8 +60,6 @@ void ShaderResources::Initialize(IMemoryAllocator& Allocator, Uint32 NumSamplers, size_t ResourceNamesPoolSize) { - VERIFY( &m_MemoryBuffer.get_deleter().m_Allocator == &Allocator, "Incosistent allocators provided"); - const auto MaxOffset = static_cast(std::numeric_limits::max()); VERIFY(NumCBs <= MaxOffset, "Max offset exceeded"); m_TexSRVOffset = 0 + static_cast(NumCBs); @@ -92,15 +90,14 @@ void ShaderResources::Initialize(IMemoryAllocator& Allocator, if( MemorySize ) { - auto *pRawMem = ALLOCATE(Allocator, "Allocator for shader resources", MemorySize ); - m_MemoryBuffer.reset(pRawMem); + auto* pRawMem = ALLOCATE(Allocator, "Allocator for shader resources", MemorySize ); + m_MemoryBuffer = std::unique_ptr< void, STDDeleterRawMem >(pRawMem, Allocator); char* NamesPool = reinterpret_cast(reinterpret_cast(pRawMem) + m_TotalResources); m_ResourceNames.AssignMemory(NamesPool, ResourceNamesPoolSize); } } -ShaderResources::ShaderResources(IMemoryAllocator &Allocator, SHADER_TYPE ShaderType): - m_MemoryBuffer(nullptr, STDDeleterRawMem(Allocator)), +ShaderResources::ShaderResources(SHADER_TYPE ShaderType): m_ShaderType(ShaderType) { } -- cgit v1.2.3