@@ -502,8 +502,8 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
502502 .addSimpleTemplateParams (*SemaPtr, {" element_type" })
503503 .Record ;
504504 onCompletion (Decl, [this ](CXXRecordDecl *Decl) {
505- setupBufferType (Decl, *SemaPtr, ResourceClass::SRV,
506- ResourceKind::TypedBuffer, /* IsROV=*/ false ,
505+ setupBufferType (Decl, *SemaPtr, ResourceClass::SRV, ResourceKind::RawBuffer,
506+ /* IsROV=*/ false ,
507507 /* RawBuffer=*/ true )
508508 .addArraySubscriptOperators ()
509509 .completeDefinition ();
@@ -513,13 +513,35 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
513513 .addSimpleTemplateParams (*SemaPtr, {" element_type" })
514514 .Record ;
515515 onCompletion (Decl, [this ](CXXRecordDecl *Decl) {
516- setupBufferType (Decl, *SemaPtr, ResourceClass::UAV,
517- ResourceKind::TypedBuffer, /* IsROV=*/ false ,
516+ setupBufferType (Decl, *SemaPtr, ResourceClass::UAV, ResourceKind::RawBuffer,
517+ /* IsROV=*/ false ,
518518 /* RawBuffer=*/ true )
519519 .addArraySubscriptOperators ()
520520 .completeDefinition ();
521521 });
522522
523+ Decl =
524+ BuiltinTypeDeclBuilder (*SemaPtr, HLSLNamespace, " AppendStructuredBuffer" )
525+ .addSimpleTemplateParams (*SemaPtr, {" element_type" })
526+ .Record ;
527+ onCompletion (Decl, [this ](CXXRecordDecl *Decl) {
528+ setupBufferType (Decl, *SemaPtr, ResourceClass::UAV, ResourceKind::RawBuffer,
529+ /* IsROV=*/ false ,
530+ /* RawBuffer=*/ true )
531+ .completeDefinition ();
532+ });
533+
534+ Decl =
535+ BuiltinTypeDeclBuilder (*SemaPtr, HLSLNamespace, " ConsumeStructuredBuffer" )
536+ .addSimpleTemplateParams (*SemaPtr, {" element_type" })
537+ .Record ;
538+ onCompletion (Decl, [this ](CXXRecordDecl *Decl) {
539+ setupBufferType (Decl, *SemaPtr, ResourceClass::UAV, ResourceKind::RawBuffer,
540+ /* IsROV=*/ false ,
541+ /* RawBuffer=*/ true )
542+ .completeDefinition ();
543+ });
544+
523545 Decl = BuiltinTypeDeclBuilder (*SemaPtr, HLSLNamespace,
524546 " RasterizerOrderedStructuredBuffer" )
525547 .addSimpleTemplateParams (*SemaPtr, {" element_type" })
0 commit comments