Keep track of an 'execution number' in CommandExecutor
Allows users to efficiently cache resources that are valid for only one execution without resorting to callbacks.
This commit is contained in:
parent
99a34df4cc
commit
cc776ae395
2 changed files with 5 additions and 0 deletions
app/src/main/cpp/skyline/gpu/interconnect
|
@ -328,6 +328,8 @@ namespace skyline::gpu::interconnect {
|
|||
cycle = activeCommandBuffer.GetFenceCycle();
|
||||
}
|
||||
ResetInternal();
|
||||
|
||||
executionNumber++;
|
||||
}
|
||||
|
||||
void CommandExecutor::SubmitWithFlush() {
|
||||
|
@ -340,5 +342,7 @@ namespace skyline::gpu::interconnect {
|
|||
cycle = activeCommandBuffer.Reset();
|
||||
}
|
||||
ResetInternal();
|
||||
|
||||
executionNumber++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -99,6 +99,7 @@ namespace skyline::gpu::interconnect {
|
|||
std::shared_ptr<FenceCycle> cycle; //!< The fence cycle that this command executor uses to wait for the GPU to finish executing commands
|
||||
LinearAllocatorState<> allocator;
|
||||
ContextTag tag; //!< The tag associated with this command executor, any tagged resource locking must utilize this tag
|
||||
size_t executionNumber{};
|
||||
|
||||
CommandExecutor(const DeviceState &state);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue