mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-06 20:58:37 +01:00
[dxvk] Track indirect draw buffer access
This commit is contained in:
parent
8bd6d16fde
commit
bd2245022b
1 changed files with 18 additions and 0 deletions
|
@ -967,6 +967,9 @@ namespace dxvk {
|
||||||
descriptor.buffer.buffer,
|
descriptor.buffer.buffer,
|
||||||
descriptor.buffer.offset + offset,
|
descriptor.buffer.offset + offset,
|
||||||
count, stride);
|
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.buffer,
|
||||||
cntDescriptor.buffer.offset + countOffset,
|
cntDescriptor.buffer.offset + countOffset,
|
||||||
maxCount, stride);
|
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.buffer,
|
||||||
descriptor.buffer.offset + offset,
|
descriptor.buffer.offset + offset,
|
||||||
count, stride);
|
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.buffer,
|
||||||
cntDescriptor.buffer.offset + countOffset,
|
cntDescriptor.buffer.offset + countOffset,
|
||||||
maxCount, stride);
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue