HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
RV_VKShaderReflect.h
Go to the documentation of this file.
1
/*
2
* PROPRIETARY INFORMATION. This software is proprietary to
3
* Side Effects Software Inc., and is not to be reproduced,
4
* transmitted, or disclosed in any way without written permission.
5
*
6
* NAME: RV_VKShaderReflect.h ( RV Library, C++)
7
*
8
* COMMENTS:
9
* Shader Reflection for SPIR-V modules
10
*/
11
12
#ifndef RV_VKShaderReflect_h
13
#define RV_VKShaderReflect_h
14
15
#include "
RV_API.h
"
16
17
#include "
RV_VKPipelineLayout.h
"
// for RV_VKPushConstantInfo
18
19
#include <
UT/UT_Array.h
>
20
#include <
UT/UT_UniquePtr.h
>
21
22
struct
RV_SpvReflectionImpl;
23
class
RV_VKShaderModule
;
24
class
RV_VKDescriptorSetInfo
;
25
26
class
RV_API
RV_VKShaderReflect
27
{
28
public
:
29
RV_VKShaderReflect
(
const
RV_VKShaderModule
* module);
30
~
RV_VKShaderReflect
();
31
32
RV_VKShaderReflect
(
const
RV_VKShaderReflect
& ) =
delete
;
33
34
35
// Get Descriptor Layouts
36
UT_Array<RV_VKDescriptorSetInfo>
getDescriptorLayouts();
37
38
// Get shader stage input variables
39
UT_Array<RV_VKAttributeInfo>
getInputs();
40
41
// Get shader stage output variables
42
UT_Array<RV_VKAttributeInfo>
getOutputs();
43
44
// get Push constant ranges
45
RV_VKPushConstantInfo
getPushConstants();
46
47
#if 0
48
// Get shader stage output variables
49
void
* RV_VKShaderReflect::getShaderOutputs();
50
// get Specialization Constants
51
void
* RV_VKShaderReflect::getShaderSpecConstants();
52
#endif
53
54
private
:
55
const
RV_VKShaderModule
* myModule;
56
UT_UniquePtr<RV_SpvReflectionImpl>
myImpl;
57
friend
RV_SpvReflectionImpl;
58
};
59
60
#endif
RV_API.h
RV_VKDescriptorSetInfo
Definition:
RV_VKDescriptorSet.h:210
RV_VKShaderReflect
Definition:
RV_VKShaderReflect.h:26
UT_Array.h
UT_Array< RV_VKDescriptorSetInfo >
UT_UniquePtr
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
Definition:
UT_UniquePtr.h:39
RV_VKPushConstantInfo
Definition:
RV_VKPipelineLayout.h:51
RV_API
#define RV_API
Definition:
RV_API.h:10
RV_VKShaderModule
Definition:
RV_VKShaderModule.h:24
RV_VKPipelineLayout.h
UT_UniquePtr.h
RV
RV_VKShaderReflect.h
Generated on Sat Dec 21 2024 02:48:44 for HDK by
1.8.6