HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RV_VKPipelineLayout.h File Reference
#include "RV_API.h"
#include <UT/UT_Array.h>
#include <UT/UT_Map.h>
#include <UT/UT_StringHolder.h>
#include <UT/UT_UniquePtr.h>
#include <UT/UT_NonCopyable.h>
#include <SYS/SYS_Hash.h>
#include <VE/VE_VK.h>
#include <VE/VE_PhysicalDeviceFeatures.h>
#include "RV_Type.h"
#include "RV_TypePtrs.h"
#include "RV_VKDescriptorSet.h"
+ Include dependency graph for RV_VKPipelineLayout.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  RV_VKAttributeInfo
 
struct  RV_VKPushConstantRange
 
class  RV_VKPushConstantInfo
 
class  RV_VKPipelineLayoutInfo
 
class  RV_VKPipelineLayout
 

Functions

SYS_HashType hash_value (const RV_VKPipelineLayoutInfo &in)
 
RV_API UT_UniquePtr
< RV_VKPipelineLayoutInfo
RVfillPipelineLayoutInfo (const char *name, UT_Array< RV_VKShaderModuleInfoPtr > &shaders)
 
RV_API RV_VKPipelineLayoutPtr RVcreatePipelineLayout (RV_Instance *inst, UT_UniquePtr< RV_VKPipelineLayoutInfo > info, UT_Array< RV_VKShaderModulePtr > shaders)
 
RV_API RV_VKPipelineLayoutPtr RVcreatePipelineLayout (RV_Instance *inst, const char *name, RV_VKShader &shader)
 Create a pipeline layout from an RV_VKShader that compiled SPIR-V shaders. More...
 
RV_API RV_VKPipelineLayoutPtr RVcreatePipelineLayout (RV_Instance *inst, const char *name, UT_Array< RV_VKShaderModuleInfoPtr > shaders)
 Create a pipeline layout from a list of SPIR-V VkShaderModules. More...
 
RV_API RV_VKPipelineLayoutPtr RVcreatePipelineLayout (RV_Instance *inst, const char *name, const UT_StringArray &filenames)
 Create a pipeline layout loading a list of compiled SPIR-V files. More...
 

Function Documentation

SYS_HashType hash_value ( const RV_VKPipelineLayoutInfo in)
inline

Definition at line 154 of file RV_VKPipelineLayout.h.

RV_API RV_VKPipelineLayoutPtr RVcreatePipelineLayout ( RV_Instance inst,
UT_UniquePtr< RV_VKPipelineLayoutInfo info,
UT_Array< RV_VKShaderModulePtr shaders 
)

Create a pipeline layout loading a list of compiled SPIR-V files and matching spirv modules. It is up to the caller to ensure that the info struct matches the conde in the shader modules. Failure to do so can result in errors or undefined behavior. Takes ownership of the shader modules

RV_API RV_VKPipelineLayoutPtr RVcreatePipelineLayout ( RV_Instance inst,
const char *  name,
RV_VKShader shader 
)

Create a pipeline layout from an RV_VKShader that compiled SPIR-V shaders.

RV_API RV_VKPipelineLayoutPtr RVcreatePipelineLayout ( RV_Instance inst,
const char *  name,
UT_Array< RV_VKShaderModuleInfoPtr shaders 
)

Create a pipeline layout from a list of SPIR-V VkShaderModules.

RV_API RV_VKPipelineLayoutPtr RVcreatePipelineLayout ( RV_Instance inst,
const char *  name,
const UT_StringArray filenames 
)

Create a pipeline layout loading a list of compiled SPIR-V files.

RV_API UT_UniquePtr<RV_VKPipelineLayoutInfo> RVfillPipelineLayoutInfo ( const char *  name,
UT_Array< RV_VKShaderModuleInfoPtr > &  shaders 
)

convenience function to fill out a pipeline layout info struct matching the list of passed in shader modules. Returns null if the modules are invalid, or there is an error