VulkanRaytracingCycles 0.0.0
Cycles Render Engine With VulkanRaytracingShaderModules. ( Experiment , in progress)
|
#include <set> More...
#include <ScriptorVk.h>
Classes | |
struct | ioSP |
Public Types | |
typedef std::tuple< LayoutType, ioSP > | ioType |
Public Member Functions | |
DescriptorVk () | |
~DescriptorVk () | |
bool | $createLayout$ (LayoutType type) |
size_t | $createLayout$ (LayoutType type, std::vector< VkDescriptorSetLayoutBinding > &dslb) |
template<class De > | |
bool | $createPuddle$ (De &desc) |
template<Interface_desc Ma> More... | |
template<class De > | |
bool | $createPuddle$ (De &desc, std::vector< VkDescriptorSetLayoutBinding > &dslb) |
template<class Ma > | |
void | destroyPuddle (Ma &mat) |
template<Interface_desc Ma> More... | |
VkDescriptorSet & | getSet (long id) |
void | createDraft (std::vector< VkPushConstantRange > pushConstantRange={}) |
void | destroy () |
Public Attributes | |
VkPipelineLayout | draft |
std::vector< ioSP > | io |
std::vector< VkDescriptorSetLayout > | layoutSet |
std::unordered_set<layoutType> layoutSet; More... | |
struct { | |
long Layout | |
long Set | |
} | Nums = { 0,0 } |
_PoolSize | PoolSize = { 0,0 } |
#include <set>
Definition at line 60 of file ScriptorVk.h.
typedef std::tuple<LayoutType, ioSP> DescriptorVk::ioType |
Definition at line 70 of file ScriptorVk.h.
DescriptorVk::DescriptorVk | ( | ) |
memset(io,NULL, DESC_MAX * sizeof(ioSP));
Definition at line 159 of file ScriptorVk.cpp.
DescriptorVk::~DescriptorVk | ( | ) |
Definition at line 167 of file ScriptorVk.cpp.
|
inline |
Definition at line 102 of file ScriptorVk.h.
|
inline |
for (auto& v : layoutSet) if (v == layout)return;
Definition at line 115 of file ScriptorVk.h.
|
inline |
template<Interface_desc Ma>
log_scr("LOCK_OPERATOR CreatePuddle %s \n ", type.data());
appendLayoutSet(layout);
Definition at line 132 of file ScriptorVk.h.
|
inline |
Definition at line 196 of file ScriptorVk.h.
void DescriptorVk::createDraft | ( | std::vector< VkPushConstantRange > | pushConstantRange = {} | ) |
Definition at line 170 of file ScriptorVk.cpp.
void DescriptorVk::destroy | ( | ) |
if(Nums > 0)vkFreeDescriptorSets($device, Pool, Nums, ioSet.data());
Definition at line 187 of file ScriptorVk.cpp.
|
inline |
template<Interface_desc Ma>
Definition at line 244 of file ScriptorVk.h.
|
inline |
Definition at line 254 of file ScriptorVk.h.
VkPipelineLayout DescriptorVk::draft |
Definition at line 71 of file ScriptorVk.h.
std::vector<ioSP> DescriptorVk::io |
Definition at line 72 of file ScriptorVk.h.
long DescriptorVk::Layout |
Definition at line 78 of file ScriptorVk.h.
std::vector<VkDescriptorSetLayout> DescriptorVk::layoutSet |
std::unordered_set<layoutType> layoutSet;
Definition at line 74 of file ScriptorVk.h.
struct { ... } DescriptorVk::Nums |
_PoolSize DescriptorVk::PoolSize = { 0,0 } |
Definition at line 82 of file ScriptorVk.h.
long DescriptorVk::Set |
Definition at line 79 of file ScriptorVk.h.