Skip to content

Commit 4bd982d

Browse files
authored
[HLSL] Fix resource kind for RasterizerOrderedStructuredBuffer (#116700)
This is a kind of StructuredBuffer, so it should be "Raw" and not "Typed".
1 parent f77126c commit 4bd982d

File tree

2 files changed

+10
-15
lines changed

2 files changed

+10
-15
lines changed

clang/lib/Sema/HLSLExternalSemaSource.cpp

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -480,8 +480,8 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
480480

481481
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
482482
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV,
483-
ResourceKind::TypedBuffer,
484-
/*IsROV=*/false, /*RawBuffer=*/false)
483+
ResourceKind::TypedBuffer, /*IsROV=*/false,
484+
/*RawBuffer=*/false)
485485
.addArraySubscriptOperators()
486486
.completeDefinition();
487487
});
@@ -503,8 +503,7 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
503503
.Record;
504504
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
505505
setupBufferType(Decl, *SemaPtr, ResourceClass::SRV, ResourceKind::RawBuffer,
506-
/*IsROV=*/false,
507-
/*RawBuffer=*/true)
506+
/*IsROV=*/false, /*RawBuffer=*/true)
508507
.addArraySubscriptOperators()
509508
.completeDefinition();
510509
});
@@ -514,8 +513,7 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
514513
.Record;
515514
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
516515
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV, ResourceKind::RawBuffer,
517-
/*IsROV=*/false,
518-
/*RawBuffer=*/true)
516+
/*IsROV=*/false, /*RawBuffer=*/true)
519517
.addArraySubscriptOperators()
520518
.completeDefinition();
521519
});
@@ -526,8 +524,7 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
526524
.Record;
527525
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
528526
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV, ResourceKind::RawBuffer,
529-
/*IsROV=*/false,
530-
/*RawBuffer=*/true)
527+
/*IsROV=*/false, /*RawBuffer=*/true)
531528
.completeDefinition();
532529
});
533530

@@ -537,8 +534,7 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
537534
.Record;
538535
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
539536
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV, ResourceKind::RawBuffer,
540-
/*IsROV=*/false,
541-
/*RawBuffer=*/true)
537+
/*IsROV=*/false, /*RawBuffer=*/true)
542538
.completeDefinition();
543539
});
544540

@@ -547,9 +543,8 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
547543
.addSimpleTemplateParams(*SemaPtr, {"element_type"})
548544
.Record;
549545
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
550-
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV,
551-
ResourceKind::TypedBuffer, /*IsROV=*/true,
552-
/*RawBuffer=*/true)
546+
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV, ResourceKind::RawBuffer,
547+
/*IsROV=*/true, /*RawBuffer=*/true)
553548
.addArraySubscriptOperators()
554549
.completeDefinition();
555550
});

clang/test/AST/HLSL/RasterizerOrderedStructuredBuffer-AST.hlsl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ RasterizerOrderedStructuredBuffer<int> Buffer;
3535
// CHECK-SAME{LITERAL}: [[hlsl::is_rov]]
3636
// CHECK-SAME{LITERAL}: [[hlsl::raw_buffer]]
3737
// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]]
38-
// CHECK-NEXT: HLSLResourceAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit TypedBuffer
38+
// CHECK-NEXT: HLSLResourceAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit RawBuffer
3939

4040
// CHECK: CXXMethodDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> operator[] 'element_type &const (unsigned int) const'
4141
// CHECK-NEXT: ParmVarDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> Idx 'unsigned int'
@@ -63,4 +63,4 @@ RasterizerOrderedStructuredBuffer<int> Buffer;
6363
// CHECK-SAME{LITERAL}: [[hlsl::is_rov]]
6464
// CHECK-SAME{LITERAL}: [[hlsl::raw_buffer]]
6565
// CHECK-SAME{LITERAL}: [[hlsl::contained_type(int)]]
66-
// CHECK-NEXT: HLSLResourceAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit TypedBuffer
66+
// CHECK-NEXT: HLSLResourceAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit RawBuffer

0 commit comments

Comments
 (0)