![]() |
|
VdfSMBLData holds per-output data that is meant to be consumed by the executor. More...
#include <smblData.h>
Public Member Functions | |
| VdfSMBLData (const VdfSMBLData &)=delete | |
| Noncopyable. | |
| VdfSMBLData & | operator= (const VdfSMBLData &)=delete |
| VdfSMBLData () | |
| Constructs an SMBL data object. | |
Memoized mask computations | |
| VdfMask | InvalidateCacheMask (const VdfMask &cacheMask, const VdfMask &invalidationMask) |
Invalidates the executor cacheMask given an invalidationMask. | |
| void | ExtendLockedCacheMask (VdfMask *lockedCacheMask, const VdfMask &cacheMask) |
Extends the lockedCacheMask by appending the bits stored in the executor cacheMask. | |
| void | RemoveUncachedMask (VdfMask *lockedCacheMask, const VdfMask &cacheMask, const VdfMask &keepMask) |
| Make sure that all the bits in the keepMask are provided by the cacheMask. | |
| bool | ComputeAffectiveness (const VdfMask &lockedCacheMask, const VdfMask &affectsMask) |
Computes the affectiveness of the corresponding output given the accumulated lockedCacheMask and the scheduled affectsMask of the output. | |
Local Cache | |
| VdfVector * | Retain (const VdfOutputSpec &spec, VdfVector *cache, const VdfMask &cacheMask) |
Locally retains the passed in cache with the given cacheMask. | |
| void | Release () |
| Releases the cache, which has been retained by this object, if any. | |
| VDF_API void | Clear () |
| Clear any of the data this object is holding on to. | |
| VdfVector * | GetCache () const |
| Returns a pointer to the locally retained cache, if any. | |
| const VdfMask & | GetCacheMask () const |
| Returns a mask indicating data available in the locally retained cache. | |
| bool | HasCache () const |
Returns true, if a cache has been retained locally, and false if there is no such cache. | |
VdfSMBLData holds per-output data that is meant to be consumed by the executor.
This data is an optional part of VdfExecutorData and it is specific to sparse mung buffer locking.
Definition at line 30 of file smblData.h.
|
delete |
Noncopyable.
|
inline |
Constructs an SMBL data object.
Definition at line 40 of file smblData.h.
| VDF_API void Clear | ( | ) |
Clear any of the data this object is holding on to.
Computes the affectiveness of the corresponding output given the accumulated lockedCacheMask and the scheduled affectsMask of the output.
This is a memoized computation.
Definition at line 87 of file smblData.h.
Extends the lockedCacheMask by appending the bits stored in the executor cacheMask.
This is a memoized computation.
Definition at line 65 of file smblData.h.
|
inline |
Returns a pointer to the locally retained cache, if any.
Definition at line 130 of file smblData.h.
|
inline |
Returns a mask indicating data available in the locally retained cache.
Definition at line 136 of file smblData.h.
|
inline |
Returns true, if a cache has been retained locally, and false if there is no such cache.
Definition at line 143 of file smblData.h.
Invalidates the executor cacheMask given an invalidationMask.
Returns the cacheMask with the bits in the invalidationMask removed. This is a memoized computation.
Definition at line 240 of file smblData.h.
|
inline |
Releases the cache, which has been retained by this object, if any.
Note, that this method does NOT release ownership of any of its heap allocated data! It merely demotes the retained cache to a free cache for future use.
Definition at line 117 of file smblData.h.
|
inline |
Make sure that all the bits in the keepMask are provided by the cacheMask.
Any data bits that are not provided by the cacheMask should not be contained in the lockedCacheMask, so remove them from the lockedCacheMask. This makes it so that nodes, which must provide data to be kept at the output, do not become un-affective.
Definition at line 250 of file smblData.h.
|
inline |
Locally retains the passed in cache with the given cacheMask.
This method returns a pointer to a (new) cache, which the client is now free to use. Consequently, this method passes the ownership of the cache pointer to this object, while giving up the ownership of the returned vector. This is to avoid a copy of the underlying data.
Definition at line 268 of file smblData.h.