From 70294aac442d0c1e67cc865826e96492e530316c Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Tue, 23 Jul 2019 12:34:48 +0200 Subject: [PATCH] [dxvk] Disable resource tracking for DxvkPipeline objects This isn't necessary at all since these objects are persistent. --- src/dxvk/dxvk_compute.h | 2 +- src/dxvk/dxvk_context.cpp | 10 +++------- src/dxvk/dxvk_graphics.h | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) 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: