|
Blender V4.5
|
#include <vk_resource_tracker.hh>
Inherits blender::NonCopyable.
Protected Member Functions | |
| VKResourceTracker ()=default | |
| VKResourceTracker (VKResourceTracker< Resource > &&other) | |
| VKResourceTracker< Resource > & | operator= (VKResourceTracker< Resource > &&other) |
| virtual | ~VKResourceTracker () |
| std::unique_ptr< Resource > & | tracked_resource_for (VKContext &context, const bool is_dirty) |
| virtual std::unique_ptr< Resource > | create_resource (VKContext &context)=0 |
| bool | has_active_resource () |
| std::unique_ptr< Resource > & | active_resource () |
VKResourceTracker will keep track of resources.
Definition at line 114 of file vk_resource_tracker.hh.
|
protecteddefault |
Referenced by operator=(), and VKResourceTracker().
|
inlineprotected |
Definition at line 120 of file vk_resource_tracker.hh.
References VKResourceTracker().
|
inlineprotectedvirtual |
Definition at line 133 of file vk_resource_tracker.hh.
|
inlineprotected |
Return the active resource of the tracker.
Definition at line 182 of file vk_resource_tracker.hh.
References BLI_assert.
Referenced by tracked_resource_for().
|
protectedpure virtual |
Callback to create a new resource. Can be called by the tracked_resource_for method.
Implemented in blender::gpu::VKPushConstants.
Referenced by tracked_resource_for().
|
inlineprotected |
Does this instance have an active resource.
Definition at line 174 of file vk_resource_tracker.hh.
|
inlineprotected |
Definition at line 126 of file vk_resource_tracker.hh.
References VKResourceTracker().
|
inlineprotected |
Get a resource what can be used by the resource tracker.
When a different submission was detected all previous resources will be freed and a new resource will be returned.
When still in the same submission and we need to update the resource (is_dirty=true) then a new resource will be returned. Otherwise the previous used resource will be used.
When no resources exists, a new resource will be created.
The resource given back is owned by this resource tracker. And the resource should not be stored outside this class as it might be destroyed when the next submission is detected.
Definition at line 154 of file vk_resource_tracker.hh.
References active_resource(), and create_resource().