mirror of
https://github.com/Takiiiiiiii/strato.git
synced 2025-07-17 08:46:39 +00:00
Implement usage based implicit renderpass barrier generation
Full pipeline barriers between every RP can be extremely expensive on HW, by analysing the inputs and outputs of a draw it's possible to construct a much more optimal barrier that only syncs what is neccessary.
This commit is contained in:
@ -633,6 +633,13 @@ namespace skyline::gpu {
|
||||
return mirror;
|
||||
}
|
||||
|
||||
void Buffer::PopulateReadBarrier(vk::PipelineStageFlagBits dstStage, vk::PipelineStageFlags &srcStageMask, vk::PipelineStageFlags &dstStageMask) {
|
||||
if (currentExecutionGpuDirty) {
|
||||
srcStageMask |= vk::PipelineStageFlagBits::eAllCommands;
|
||||
dstStageMask |= dstStage;
|
||||
}
|
||||
}
|
||||
|
||||
void Buffer::lock() {
|
||||
mutex.lock();
|
||||
accumulatedCpuLockCounter++;
|
||||
|
Reference in New Issue
Block a user