mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-11 10:24:10 +01:00
[dxvk] Use out-of-order transfer helper in updateBuffer
This commit is contained in:
parent
cf2c81f5ef
commit
c402c62fde
@ -1997,18 +1997,17 @@ namespace dxvk {
|
||||
VkDeviceSize offset,
|
||||
VkDeviceSize size,
|
||||
const void* data) {
|
||||
bool replaceBuffer = this->tryInvalidateDeviceLocalBuffer(buffer, size);
|
||||
auto bufferSlice = buffer->getSliceHandle(offset, size);
|
||||
DxvkCmdBuffer cmdBuffer = DxvkCmdBuffer::InitBuffer;
|
||||
|
||||
if (!replaceBuffer) {
|
||||
this->spillRenderPass(true);
|
||||
if (!prepareOutOfOrderTransfer(buffer, offset, size, DxvkAccess::Write)) {
|
||||
spillRenderPass(true);
|
||||
|
||||
flushPendingAccesses(*buffer, offset, size, DxvkAccess::Write);
|
||||
|
||||
cmdBuffer = DxvkCmdBuffer::ExecBuffer;
|
||||
}
|
||||
|
||||
DxvkCmdBuffer cmdBuffer = replaceBuffer
|
||||
? DxvkCmdBuffer::InitBuffer
|
||||
: DxvkCmdBuffer::ExecBuffer;
|
||||
auto bufferSlice = buffer->getSliceHandle(offset, size);
|
||||
|
||||
m_cmd->cmdUpdateBuffer(cmdBuffer,
|
||||
bufferSlice.handle,
|
||||
|
Loading…
Reference in New Issue
Block a user