diff --git a/src/dxvk/dxvk_compute.h b/src/dxvk/dxvk_compute.h index 769dc9561..4c30b8edd 100644 --- a/src/dxvk/dxvk_compute.h +++ b/src/dxvk/dxvk_compute.h @@ -34,7 +34,7 @@ namespace dxvk { * pipelines do not need to be recompiled against any sort * of pipeline state. */ - class DxvkComputePipeline : public DxvkResource { + class DxvkComputePipeline : public RcObject { public: diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index d729abcb9..18b6e20a4 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -3412,12 +3412,9 @@ namespace dxvk { m_state.cp.state.bsBindingMask.clear(); m_state.cp.pipeline = m_pipeMgr->createComputePipeline(m_state.cp.cs.shader); - if (m_state.cp.pipeline != nullptr) { - m_cmd->trackResource(m_state.cp.pipeline); - - if (m_state.cp.pipeline->layout()->pushConstRange().size) - m_flags.set(DxvkContextFlag::DirtyPushConstants); - } + if (m_state.cp.pipeline != nullptr + && m_state.cp.pipeline->layout()->pushConstRange().size) + m_flags.set(DxvkContextFlag::DirtyPushConstants); } } @@ -3471,7 +3468,6 @@ namespace dxvk { if (m_state.gp.pipeline != nullptr) { m_state.gp.flags = m_state.gp.pipeline->flags(); - m_cmd->trackResource(m_state.gp.pipeline); if (m_state.gp.pipeline->layout()->pushConstRange().size) m_flags.set(DxvkContextFlag::DirtyPushConstants); diff --git a/src/dxvk/dxvk_graphics.h b/src/dxvk/dxvk_graphics.h index 976cf590f..2b77c8747 100644 --- a/src/dxvk/dxvk_graphics.h +++ b/src/dxvk/dxvk_graphics.h @@ -186,7 +186,7 @@ namespace dxvk { * recompile the graphics pipeline against a given * pipeline state vector. */ - class DxvkGraphicsPipeline : public DxvkResource { + class DxvkGraphicsPipeline : public RcObject { public: