mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-31 14:52:11 +01:00
[dxvk] Do not track buffer view objects
No longer necessary as they have the same lifetime as the parent buffer now. Only track the buffers themselves.
This commit is contained in:
parent
088ba404a6
commit
93547aec8d
@ -108,7 +108,7 @@ namespace dxvk {
|
|||||||
/**
|
/**
|
||||||
* \brief Virtual buffer view
|
* \brief Virtual buffer view
|
||||||
*/
|
*/
|
||||||
class DxvkBufferView : public DxvkResource {
|
class DxvkBufferView {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@ -307,7 +307,6 @@ namespace dxvk {
|
|||||||
bufferView->buffer()->info().stages,
|
bufferView->buffer()->info().stages,
|
||||||
bufferView->buffer()->info().access);
|
bufferView->buffer()->info().access);
|
||||||
|
|
||||||
m_cmd->trackResource<DxvkAccess::None>(bufferView);
|
|
||||||
m_cmd->trackResource<DxvkAccess::Write>(bufferView->buffer());
|
m_cmd->trackResource<DxvkAccess::Write>(bufferView->buffer());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -991,9 +990,6 @@ namespace dxvk {
|
|||||||
// Track all involved resources
|
// Track all involved resources
|
||||||
m_cmd->trackResource<DxvkAccess::Write>(dstBuffer);
|
m_cmd->trackResource<DxvkAccess::Write>(dstBuffer);
|
||||||
m_cmd->trackResource<DxvkAccess::Read>(srcBuffer);
|
m_cmd->trackResource<DxvkAccess::Read>(srcBuffer);
|
||||||
|
|
||||||
m_cmd->trackResource<DxvkAccess::None>(dstView);
|
|
||||||
m_cmd->trackResource<DxvkAccess::None>(srcView);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1185,9 +1181,7 @@ namespace dxvk {
|
|||||||
// Track all involved resources
|
// Track all involved resources
|
||||||
m_cmd->trackResource<DxvkAccess::Write>(dstImage);
|
m_cmd->trackResource<DxvkAccess::Write>(dstImage);
|
||||||
m_cmd->trackResource<DxvkAccess::Read>(srcBuffer);
|
m_cmd->trackResource<DxvkAccess::Read>(srcBuffer);
|
||||||
|
m_cmd->trackResource<DxvkAccess::Read>(tmpBuffer);
|
||||||
m_cmd->trackResource<DxvkAccess::None>(tmpBufferViewD);
|
|
||||||
m_cmd->trackResource<DxvkAccess::None>(tmpBufferViewS);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -5324,10 +5318,8 @@ namespace dxvk {
|
|||||||
if (res.bufferView != nullptr) {
|
if (res.bufferView != nullptr) {
|
||||||
descriptorInfo.texelBuffer = res.bufferView->handle();
|
descriptorInfo.texelBuffer = res.bufferView->handle();
|
||||||
|
|
||||||
if (m_rcTracked.set(binding.resourceBinding)) {
|
if (m_rcTracked.set(binding.resourceBinding))
|
||||||
m_cmd->trackResource<DxvkAccess::None>(res.bufferView);
|
|
||||||
m_cmd->trackResource<DxvkAccess::Read>(res.bufferView->buffer());
|
m_cmd->trackResource<DxvkAccess::Read>(res.bufferView->buffer());
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
descriptorInfo.texelBuffer = VK_NULL_HANDLE;
|
descriptorInfo.texelBuffer = VK_NULL_HANDLE;
|
||||||
}
|
}
|
||||||
@ -5339,10 +5331,8 @@ namespace dxvk {
|
|||||||
if (res.bufferView != nullptr) {
|
if (res.bufferView != nullptr) {
|
||||||
descriptorInfo.texelBuffer = res.bufferView->handle();
|
descriptorInfo.texelBuffer = res.bufferView->handle();
|
||||||
|
|
||||||
if (m_rcTracked.set(binding.resourceBinding)) {
|
if (m_rcTracked.set(binding.resourceBinding))
|
||||||
m_cmd->trackResource<DxvkAccess::None>(res.bufferView);
|
|
||||||
m_cmd->trackResource<DxvkAccess::Write>(res.bufferView->buffer());
|
m_cmd->trackResource<DxvkAccess::Write>(res.bufferView->buffer());
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
descriptorInfo.texelBuffer = VK_NULL_HANDLE;
|
descriptorInfo.texelBuffer = VK_NULL_HANDLE;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user