diff --git a/src/dxvk/dxvk_buffer.h b/src/dxvk/dxvk_buffer.h index af1fe93a9..79969e3dc 100644 --- a/src/dxvk/dxvk_buffer.h +++ b/src/dxvk/dxvk_buffer.h @@ -108,7 +108,7 @@ namespace dxvk { /** * \brief Virtual buffer view */ - class DxvkBufferView : public DxvkResource { + class DxvkBufferView { public: diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index fcc7db0de..9d1492c00 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -307,7 +307,6 @@ namespace dxvk { bufferView->buffer()->info().stages, bufferView->buffer()->info().access); - m_cmd->trackResource(bufferView); m_cmd->trackResource(bufferView->buffer()); } @@ -991,9 +990,6 @@ namespace dxvk { // Track all involved resources m_cmd->trackResource(dstBuffer); m_cmd->trackResource(srcBuffer); - - m_cmd->trackResource(dstView); - m_cmd->trackResource(srcView); } @@ -1185,9 +1181,7 @@ namespace dxvk { // Track all involved resources m_cmd->trackResource(dstImage); m_cmd->trackResource(srcBuffer); - - m_cmd->trackResource(tmpBufferViewD); - m_cmd->trackResource(tmpBufferViewS); + m_cmd->trackResource(tmpBuffer); } @@ -5324,10 +5318,8 @@ namespace dxvk { if (res.bufferView != nullptr) { descriptorInfo.texelBuffer = res.bufferView->handle(); - if (m_rcTracked.set(binding.resourceBinding)) { - m_cmd->trackResource(res.bufferView); + if (m_rcTracked.set(binding.resourceBinding)) m_cmd->trackResource(res.bufferView->buffer()); - } } else { descriptorInfo.texelBuffer = VK_NULL_HANDLE; } @@ -5339,10 +5331,8 @@ namespace dxvk { if (res.bufferView != nullptr) { descriptorInfo.texelBuffer = res.bufferView->handle(); - if (m_rcTracked.set(binding.resourceBinding)) { - m_cmd->trackResource(res.bufferView); + if (m_rcTracked.set(binding.resourceBinding)) m_cmd->trackResource(res.bufferView->buffer()); - } } else { descriptorInfo.texelBuffer = VK_NULL_HANDLE; }