VulkanRaytracingCycles 0.0.0
Cycles Render Engine With VulkanRaytracingShaderModules. ( Experiment , in progress)
|
#include <CacheVk.h>
Classes | |
struct | index |
Public Types | |
typedef Mem | MemTy[Size] |
typedef uintptr_t | OwnTy[Size] |
Public Member Functions | |
CacheVk () | |
~CacheVk () | |
void | clear () |
void | enter () |
void | leave () |
bool | $get (Mem &mem, Hache *obj) |
template<class T > | |
bool | get (Mem &mem, T *obj) |
bool | get (Mem &mem, Hache *obj) |
template<class T > | |
bool | $set$ (Mem &&mem, T *obj) |
bool | $set$ (Mem &&mem, Hache *obj) |
template<class T > | |
bool | $delete$ (T *obj) |
bool | $delete$ (Hache *obj) |
bool | $kill$ (long id) |
template<class O > | |
bool | $createVisibleMemory$ (VkMemoryRequirements &memReqs, O &obj) |
Public Attributes | |
Mem | cache [Size] |
uintptr_t | owner [Size] |
uint32_t | idx |
size_t | size = Size |
SRWLOCK | SlimLock |
std::queue< uint32_t > | vacancy |
|
inline |
Definition at line 277 of file CacheVk.h.
|
inline |
Definition at line 200 of file CacheVk.h.
|
inline |
|
inline |
log_ca(" get %s IDX %d OWNER %zu HASH %zu \n",typeid(Mem).name(), obj->id, owner[obj->id], obj->hash);
Definition at line 143 of file CacheVk.h.
|
inline |
std::queue<uint32_t> CacheVk< Mem, Size >::vacancy |