Mark sure to frame-reference indirect argument buffers

This commit is contained in:
baldurk
2016-02-07 18:50:30 +01:00
parent bd829f07b0
commit 6578f451c1
@@ -1200,6 +1200,11 @@ void WrappedVulkan::vkCmdDrawIndirect(
Serialise_vkCmdDrawIndirect(localSerialiser, commandBuffer, buffer, offset, count, stride);
record->AddChunk(scope.Get());
record->MarkResourceFrameReferenced(GetResID(buffer), eFrameRef_Read);
record->MarkResourceFrameReferenced(GetRecord(buffer)->baseResource, eFrameRef_Read);
if(GetRecord(buffer)->sparseInfo)
record->cmdInfo->sparse.insert(GetRecord(buffer)->sparseInfo);
}
}
@@ -1261,6 +1266,11 @@ void WrappedVulkan::vkCmdDrawIndexedIndirect(
Serialise_vkCmdDrawIndexedIndirect(localSerialiser, commandBuffer, buffer, offset, count, stride);
record->AddChunk(scope.Get());
record->MarkResourceFrameReferenced(GetResID(buffer), eFrameRef_Read);
record->MarkResourceFrameReferenced(GetRecord(buffer)->baseResource, eFrameRef_Read);
if(GetRecord(buffer)->sparseInfo)
record->cmdInfo->sparse.insert(GetRecord(buffer)->sparseInfo);
}
}
@@ -1389,5 +1399,10 @@ void WrappedVulkan::vkCmdDispatchIndirect(
Serialise_vkCmdDispatchIndirect(localSerialiser, commandBuffer, buffer, offset);
record->AddChunk(scope.Get());
record->MarkResourceFrameReferenced(GetResID(buffer), eFrameRef_Read);
record->MarkResourceFrameReferenced(GetRecord(buffer)->baseResource, eFrameRef_Read);
if(GetRecord(buffer)->sparseInfo)
record->cmdInfo->sparse.insert(GetRecord(buffer)->sparseInfo);
}
}