[HLSL] Fix resource kind for RasterizerOrderedStructuredBuffer (#116700)
This is a kind of StructuredBuffer, so it should be "Raw" and not "Typed".
This commit is contained in:
@@ -480,8 +480,8 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
|
||||
|
||||
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
|
||||
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV,
|
||||
ResourceKind::TypedBuffer,
|
||||
/*IsROV=*/false, /*RawBuffer=*/false)
|
||||
ResourceKind::TypedBuffer, /*IsROV=*/false,
|
||||
/*RawBuffer=*/false)
|
||||
.addArraySubscriptOperators()
|
||||
.completeDefinition();
|
||||
});
|
||||
@@ -503,8 +503,7 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
|
||||
.Record;
|
||||
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
|
||||
setupBufferType(Decl, *SemaPtr, ResourceClass::SRV, ResourceKind::RawBuffer,
|
||||
/*IsROV=*/false,
|
||||
/*RawBuffer=*/true)
|
||||
/*IsROV=*/false, /*RawBuffer=*/true)
|
||||
.addArraySubscriptOperators()
|
||||
.completeDefinition();
|
||||
});
|
||||
@@ -514,8 +513,7 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
|
||||
.Record;
|
||||
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
|
||||
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV, ResourceKind::RawBuffer,
|
||||
/*IsROV=*/false,
|
||||
/*RawBuffer=*/true)
|
||||
/*IsROV=*/false, /*RawBuffer=*/true)
|
||||
.addArraySubscriptOperators()
|
||||
.completeDefinition();
|
||||
});
|
||||
@@ -526,8 +524,7 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
|
||||
.Record;
|
||||
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
|
||||
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV, ResourceKind::RawBuffer,
|
||||
/*IsROV=*/false,
|
||||
/*RawBuffer=*/true)
|
||||
/*IsROV=*/false, /*RawBuffer=*/true)
|
||||
.completeDefinition();
|
||||
});
|
||||
|
||||
@@ -537,8 +534,7 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
|
||||
.Record;
|
||||
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
|
||||
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV, ResourceKind::RawBuffer,
|
||||
/*IsROV=*/false,
|
||||
/*RawBuffer=*/true)
|
||||
/*IsROV=*/false, /*RawBuffer=*/true)
|
||||
.completeDefinition();
|
||||
});
|
||||
|
||||
@@ -547,9 +543,8 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
|
||||
.addSimpleTemplateParams(*SemaPtr, {"element_type"})
|
||||
.Record;
|
||||
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
|
||||
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV,
|
||||
ResourceKind::TypedBuffer, /*IsROV=*/true,
|
||||
/*RawBuffer=*/true)
|
||||
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV, ResourceKind::RawBuffer,
|
||||
/*IsROV=*/true, /*RawBuffer=*/true)
|
||||
.addArraySubscriptOperators()
|
||||
.completeDefinition();
|
||||
});
|
||||
|
||||
@@ -35,7 +35,7 @@ RasterizerOrderedStructuredBuffer<int> Buffer;
|
||||
// CHECK-SAME{LITERAL}: [[hlsl::is_rov]]
|
||||
// CHECK-SAME{LITERAL}: [[hlsl::raw_buffer]]
|
||||
// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]]
|
||||
// CHECK-NEXT: HLSLResourceAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit TypedBuffer
|
||||
// CHECK-NEXT: HLSLResourceAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit RawBuffer
|
||||
|
||||
// CHECK: CXXMethodDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> operator[] 'element_type &const (unsigned int) const'
|
||||
// CHECK-NEXT: ParmVarDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> Idx 'unsigned int'
|
||||
@@ -63,4 +63,4 @@ RasterizerOrderedStructuredBuffer<int> Buffer;
|
||||
// CHECK-SAME{LITERAL}: [[hlsl::is_rov]]
|
||||
// CHECK-SAME{LITERAL}: [[hlsl::raw_buffer]]
|
||||
// CHECK-SAME{LITERAL}: [[hlsl::contained_type(int)]]
|
||||
// CHECK-NEXT: HLSLResourceAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit TypedBuffer
|
||||
// CHECK-NEXT: HLSLResourceAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit RawBuffer
|
||||
|
||||
Reference in New Issue
Block a user