diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index 1a2bfcd5..e8a4a3bc 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -9,10 +9,11 @@ namespace dxvk { DxvkContext::DxvkContext( const Rc& device, const Rc& pipelineCache, + const Rc& pipelineManager, const Rc& metaClearObjects) : m_device (device), m_pipeCache (pipelineCache), - m_pipeMgr (new DxvkPipelineManager(device.ptr())), + m_pipeMgr (pipelineManager), m_metaClear (metaClearObjects) { } diff --git a/src/dxvk/dxvk_context.h b/src/dxvk/dxvk_context.h index 7528f935..e10ddfe7 100644 --- a/src/dxvk/dxvk_context.h +++ b/src/dxvk/dxvk_context.h @@ -30,6 +30,7 @@ namespace dxvk { DxvkContext( const Rc& device, const Rc& pipelineCache, + const Rc& pipelineManager, const Rc& metaClearObjects); ~DxvkContext(); diff --git a/src/dxvk/dxvk_device.cpp b/src/dxvk/dxvk_device.cpp index 72aaa4b2..d92e779d 100644 --- a/src/dxvk/dxvk_device.cpp +++ b/src/dxvk/dxvk_device.cpp @@ -16,6 +16,7 @@ namespace dxvk { m_memory (new DxvkMemoryAllocator (adapter, vkd)), m_renderPassPool (new DxvkRenderPassPool (vkd)), m_pipelineCache (new DxvkPipelineCache (vkd)), + m_pipelineManager (new DxvkPipelineManager (this)), m_metaClearObjects(new DxvkMetaClearObjects (vkd)), m_unboundResources(this), m_submissionQueue (this) { @@ -106,6 +107,7 @@ namespace dxvk { Rc DxvkDevice::createContext() { return new DxvkContext(this, m_pipelineCache, + m_pipelineManager, m_metaClearObjects); } diff --git a/src/dxvk/dxvk_device.h b/src/dxvk/dxvk_device.h index dc54ae00..6c91de48 100644 --- a/src/dxvk/dxvk_device.h +++ b/src/dxvk/dxvk_device.h @@ -355,6 +355,7 @@ namespace dxvk { Rc m_memory; Rc m_renderPassPool; Rc m_pipelineCache; + Rc m_pipelineManager; Rc m_metaClearObjects; DxvkUnboundResources m_unboundResources;