31
31
#ifndef DESCRIPTOR_RANGE_OFFSET_ENUM
32
32
#define DESCRIPTOR_RANGE_OFFSET_ENUM (NAME, LIT ) ENUM(NAME, LIT)
33
33
#endif
34
+ #ifndef ROOT_DESCRIPTOR_FLAG_ENUM
35
+ #define ROOT_DESCRIPTOR_FLAG_ENUM (NAME, LIT ) ENUM(NAME, LIT)
36
+ #endif
37
+ // Note: ON denotes that the flag is unique from the above Root Descriptor
38
+ // Flags. This is required to avoid token kind enum conflicts.
39
+ #ifndef DESCRIPTOR_RANGE_FLAG_ENUM_OFF
40
+ #define DESCRIPTOR_RANGE_FLAG_ENUM_OFF (NAME, LIT )
41
+ #endif
42
+ #ifndef DESCRIPTOR_RANGE_FLAG_ENUM_ON
43
+ #define DESCRIPTOR_RANGE_FLAG_ENUM_ON (NAME, LIT ) ENUM(NAME, LIT)
44
+ #endif
45
+ #ifndef DESCRIPTOR_RANGE_FLAG_ENUM
46
+ #define DESCRIPTOR_RANGE_FLAG_ENUM (NAME, LIT, ON ) DESCRIPTOR_RANGE_FLAG_ENUM_##ON(NAME, LIT)
47
+ #endif
48
+ #ifndef SHADER_VISIBILITY_ENUM
49
+ #define SHADER_VISIBILITY_ENUM (NAME, LIT ) ENUM(NAME, LIT)
50
+ #endif
34
51
35
52
// General Tokens:
36
53
TOK (invalid)
@@ -52,9 +69,51 @@ PUNCTUATOR(equal, '=')
52
69
// RootElement Keywords:
53
70
KEYWORD(DescriptorTable)
54
71
72
+ // DescriptorTable Keywords:
73
+ KEYWORD(CBV)
74
+ KEYWORD(SRV)
75
+ KEYWORD(UAV)
76
+ KEYWORD(Sampler)
77
+
78
+ // General Parameter Keywords:
79
+ KEYWORD(space)
80
+ KEYWORD(visibility)
81
+ KEYWORD(flags)
82
+
83
+ // View Parameter Keywords:
84
+ KEYWORD(numDescriptors)
85
+ KEYWORD(offset)
86
+
55
87
// Descriptor Range Offset Enum:
56
88
DESCRIPTOR_RANGE_OFFSET_ENUM(DescriptorRangeOffsetAppend, " DESCRIPTOR_RANGE_OFFSET_APPEND" )
57
89
90
+ // Root Descriptor Flag Enums:
91
+ ROOT_DESCRIPTOR_FLAG_ENUM(DataVolatile, " DATA_VOLATILE" )
92
+ ROOT_DESCRIPTOR_FLAG_ENUM(DataStaticWhileSetAtExecute, " DATA_STATIC_WHILE_SET_AT_EXECUTE" )
93
+ ROOT_DESCRIPTOR_FLAG_ENUM(DataStatic, " DATA_STATIC" )
94
+
95
+ // Descriptor Range Flag Enums:
96
+ DESCRIPTOR_RANGE_FLAG_ENUM(DescriptorsVolatile, " DESCRIPTORS_VOLATILE" , ON)
97
+ DESCRIPTOR_RANGE_FLAG_ENUM(DataVolatile, " DATA_VOLATILE" , OFF)
98
+ DESCRIPTOR_RANGE_FLAG_ENUM(DataStaticWhileSetAtExecute, " DATA_STATIC_WHILE_SET_AT_EXECUTE" , OFF)
99
+ DESCRIPTOR_RANGE_FLAG_ENUM(DataStatic, " DATA_STATIC" , OFF)
100
+ DESCRIPTOR_RANGE_FLAG_ENUM(DescriptorsStaticKeepingBufferBoundsChecks, " DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS" , ON)
101
+
102
+ // Shader Visibiliy Enums:
103
+ SHADER_VISIBILITY_ENUM(All, " SHADER_VISIBILITY_ALL" )
104
+ SHADER_VISIBILITY_ENUM(Vertex, " SHADER_VISIBILITY_VERTEX" )
105
+ SHADER_VISIBILITY_ENUM(Hull, " SHADER_VISIBILITY_HULL" )
106
+ SHADER_VISIBILITY_ENUM(Domain, " SHADER_VISIBILITY_DOMAIN" )
107
+ SHADER_VISIBILITY_ENUM(Geometry, " SHADER_VISIBILITY_GEOMETRY" )
108
+ SHADER_VISIBILITY_ENUM(Pixel, " SHADER_VISIBILITY_PIXEL" )
109
+ SHADER_VISIBILITY_ENUM(Amplification, " SHADER_VISIBILITY_AMPLIFICATION" )
110
+ SHADER_VISIBILITY_ENUM(Mesh, " SHADER_VISIBILITY_MESH" )
111
+
112
+ #undef SHADER_VISIBILITY_ENUM
113
+ #undef DESCRIPTOR_RANGE_FLAG_ENUM
114
+ #undef DESCRIPTOR_RANGE_FLAG_ENUM_OFF
115
+ #undef DESCRIPTOR_RANGE_FLAG_ENUM_ON
116
+ #undef ROOT_DESCRIPTOR_FLAG_ENUM
58
117
#undef DESCRIPTOR_RANGE_OFFSET_ENUM
59
118
#undef ENUM
60
119
#undef KEYWORD
0 commit comments