1
1
// RUN: %clang_cc1 -Wno-hlsl-implicit-binding -triple dxil-pc-shadermodel6.0-library -x hlsl -ast-dump -DEMPTY \
2
2
// RUN: -DRESOURCE=RWBuffer %s | FileCheck -DRESOURCE=RWBuffer -check-prefix=EMPTY %s
3
3
//
4
+ // RUN: %clang_cc1 -Wno-hlsl-implicit-binding -triple dxil-pc-shadermodel6.0-library -x hlsl -ast-dump -DEMPTY \
5
+ // RUN: -DRESOURCE=Buffer %s | FileCheck -DRESOURCE=Buffer -check-prefix=EMPTY %s
6
+ //
4
7
// RUN: %clang_cc1 -Wno-hlsl-implicit-binding -triple dxil-pc-shadermodel6.0-library -x hlsl -ast-dump \
5
8
// RUN: -DRESOURCE=RWBuffer %s | FileCheck -DRESOURCE=RWBuffer \
6
9
// RUN: -check-prefixes=CHECK,CHECK-UAV %s
10
+ //
11
+ // RUN: %clang_cc1 -Wno-hlsl-implicit-binding -triple dxil-pc-shadermodel6.0-library -x hlsl -ast-dump \
12
+ // RUN: -DRESOURCE=Buffer %s | FileCheck -DRESOURCE=Buffer \
13
+ // RUN: -check-prefixes=CHECK,CHECK-SRV %s
7
14
8
- // TODO: Add AST tests for Buffer and RasterizerOrderedBuffer here
15
+ // TODO: Add AST tests for RasterizerOrderedBuffer here
9
16
10
17
// This test tests two different AST generations each typed buffer.
11
18
// The "EMPTY" test mode verifies the AST generated by forward declaration
@@ -54,6 +61,7 @@ RESOURCE<float> Buffer;
54
61
// CHECK: FinalAttr {{.*}} Implicit final
55
62
// CHECK-NEXT: FieldDecl {{.*}} implicit __handle '__hlsl_resource_t
56
63
// CHECK-UAV-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
64
+ // CHECK-SRV-SAME{LITERAL}: [[hlsl::resource_class(SRV)]]
57
65
// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]]
58
66
59
67
// Default constructor
@@ -125,7 +133,8 @@ RESOURCE<float> Buffer;
125
133
// CHECK-NEXT: ImplicitCastExpr {{.*}} <BuiltinFnToFnPtr>
126
134
// CHECK-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_getpointer' 'void (...) noexcept'
127
135
// CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t
128
- // CHECK-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
136
+ // CHECK-UAV-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
137
+ // CHECK-SRV-SAME{LITERAL}: [[hlsl::resource_class(SRV)]]
129
138
// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]]
130
139
// CHECK-SAME: ' lvalue .__handle {{.*}}
131
140
// CHECK-NEXT: CXXThisExpr {{.*}} 'const [[RESOURCE]]<element_type>' lvalue implicit this
@@ -141,7 +150,8 @@ RESOURCE<float> Buffer;
141
150
// CHECK-NEXT: ImplicitCastExpr {{.*}} <BuiltinFnToFnPtr>
142
151
// CHECK-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_getpointer' 'void (...) noexcept'
143
152
// CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t
144
- // CHECK-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
153
+ // CHECK-UAV-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
154
+ // CHECK-SRV-SAME{LITERAL}: [[hlsl::resource_class(SRV)]]
145
155
// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]]
146
156
// CHECK-SAME: ' lvalue .__handle {{.*}}
147
157
// CHECK-NEXT: CXXThisExpr {{.*}} '[[RESOURCE]]<element_type>' lvalue implicit this
@@ -159,7 +169,8 @@ RESOURCE<float> Buffer;
159
169
// CHECK-NEXT: ImplicitCastExpr {{.*}} <BuiltinFnToFnPtr>
160
170
// CHECK-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_getpointer' 'void (...) noexcept'
161
171
// CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t
162
- // CHECK-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
172
+ // CHECK-UAV-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
173
+ // CHECK-SRV-SAME{LITERAL}: [[hlsl::resource_class(SRV)]]
163
174
// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]]
164
175
// CHECK-SAME: ' lvalue .__handle {{.*}}
165
176
// CHECK-NEXT: CXXThisExpr {{.*}} '[[RESOURCE]]<element_type>' lvalue implicit this
@@ -173,4 +184,5 @@ RESOURCE<float> Buffer;
173
184
// CHECK-NEXT: FinalAttr {{.*}} Implicit final
174
185
// CHECK-NEXT: FieldDecl {{.*}} implicit referenced __handle '__hlsl_resource_t
175
186
// CHECK-UAV-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
187
+ // CHECK-SRV-SAME{LITERAL}: [[hlsl::resource_class(SRV)]]
176
188
// CHECK-SAME{LITERAL}: [[hlsl::contained_type(float)]]
0 commit comments