1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-02-23 19:54:16 +01:00

[dxvk] Track indirect draw buffer access

This commit is contained in:
Philip Rebohle 2025-02-14 19:54:25 +01:00
parent 8bd6d16fde
commit bd2245022b

View File

@ -967,6 +967,9 @@ namespace dxvk {
descriptor.buffer.buffer,
descriptor.buffer.offset + offset,
count, stride);
if (unlikely(m_state.id.argBuffer.buffer()->hasGfxStores()))
accessDrawBuffer(offset, count, stride, sizeof(VkDrawIndirectCommand));
}
}
@ -986,6 +989,12 @@ namespace dxvk {
cntDescriptor.buffer.buffer,
cntDescriptor.buffer.offset + countOffset,
maxCount, stride);
if (unlikely(m_state.id.argBuffer.buffer()->hasGfxStores()))
accessDrawBuffer(offset, maxCount, stride, sizeof(VkDrawIndirectCommand));
if (unlikely(m_state.id.cntBuffer.buffer()->hasGfxStores()))
accessDrawCountBuffer(countOffset);
}
}
@ -1016,6 +1025,9 @@ namespace dxvk {
descriptor.buffer.buffer,
descriptor.buffer.offset + offset,
count, stride);
if (unlikely(m_state.id.argBuffer.buffer()->hasGfxStores()))
accessDrawBuffer(offset, count, stride, sizeof(VkDrawIndexedIndirectCommand));
}
}
@ -1035,6 +1047,12 @@ namespace dxvk {
cntDescriptor.buffer.buffer,
cntDescriptor.buffer.offset + countOffset,
maxCount, stride);
if (unlikely(m_state.id.argBuffer.buffer()->hasGfxStores()))
accessDrawBuffer(offset, maxCount, stride, sizeof(VkDrawIndexedIndirectCommand));
if (unlikely(m_state.id.cntBuffer.buffer()->hasGfxStores()))
accessDrawCountBuffer(countOffset);
}
}