General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.
Hey, I noticed a performance degradation over time
when repeatedly calling Sequence::eval(..) or Sequence::evalAsync(..).
Both functions first clear the currently recorded operations by calling Sequence::clear(),
then record and actually evaluate the new operation.
The problem is - Sequence::clear() never actually clears the operations.
This leads to operations just adding up.
This PR simply adds the missing clear call.
I guess this was just an oversight...
I only noticed this problem only in a compute heavy, long running process.
Hey, I noticed a performance degradation over time when repeatedly calling
Sequence::eval(..)
orSequence::evalAsync(..)
.Both functions first clear the currently recorded operations by calling
Sequence::clear()
, then record and actually evaluate the new operation.The problem is -
Sequence::clear()
never actually clears the operations. This leads to operations just adding up.This PR simply adds the missing clear call. I guess this was just an oversight... I only noticed this problem only in a compute heavy, long running process.