brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.8 KiB · da5a42c Raw
90 lines · plain
1// RUN: %clang_cc1 -triple spirv-unknown-vulkan1.3-library -finclude-default-header -ast-dump -o - %s | FileCheck %s -check-prefixes=SPV,CHECK2// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.8-library -finclude-default-header -ast-dump -o - %s | FileCheck %s -check-prefixes=DXIL,CHECK3 4// CHECK: VarDecl {{.*}} Buf 'StructuredBuffer<float>':'hlsl::StructuredBuffer<float>'5// CHECK-NEXT: CallExpr {{.*}} 'StructuredBuffer<float>':'hlsl::StructuredBuffer<float>'6// CHECK-NEXT: ImplicitCastExpr {{.*}} 'hlsl::StructuredBuffer<float> (*)(unsigned int, unsigned int, int, unsigned int, const char *)' <FunctionToPointerDecay>7// CHECK-NEXT: DeclRefExpr {{.*}} 'hlsl::StructuredBuffer<float> (unsigned int, unsigned int, int, unsigned int, const char *)' 8// CHECK-NEXT-SAME: CXXMethod {{.*}} '__createFromBinding' 'hlsl::StructuredBuffer<float> (unsigned int, unsigned int, int, unsigned int, const char *)'9// SPV-NEXT: IntegerLiteral {{.*}} 'unsigned int' 2310// SPV-NEXT: IntegerLiteral {{.*}} 'unsigned int' 10211// DXIL-NEXT: IntegerLiteral {{.*}} 'unsigned int' 012// DXIL-NEXT: IntegerLiteral {{.*}} 'unsigned int' 013// CHECK: HLSLVkBindingAttr {{.*}} 23 10214[[vk::binding(23, 102)]] StructuredBuffer<float> Buf;15 16// CHECK: VarDecl {{.*}} Buf2 'StructuredBuffer<float>':'hlsl::StructuredBuffer<float>'17// CHECK-NEXT: CallExpr {{.*}} 'StructuredBuffer<float>':'hlsl::StructuredBuffer<float>'18// CHECK-NEXT: ImplicitCastExpr {{.*}} 'hlsl::StructuredBuffer<float> (*)(unsigned int, unsigned int, int, unsigned int, const char *)' <FunctionToPointerDecay>19// CHECK-NEXT: DeclRefExpr {{.*}} 'hlsl::StructuredBuffer<float> (unsigned int, unsigned int, int, unsigned int, const char *)' 20// CHECK-NEXT-SAME: CXXMethod {{.*}} '__createFromBinding' 'hlsl::StructuredBuffer<float> (unsigned int, unsigned int, int, unsigned int, const char *)'21// SPV-NEXT: IntegerLiteral {{.*}} 'unsigned int' 1422// SPV-NEXT: IntegerLiteral {{.*}} 'unsigned int' 123// DXIL-NEXT: IntegerLiteral {{.*}} 'unsigned int' 2324// DXIL-NEXT: IntegerLiteral {{.*}} 'unsigned int' 10225// CHECK: HLSLVkBindingAttr {{.*}} 14 126// CHECK: HLSLResourceBindingAttr {{.*}} "t23" "space102"27[[vk::binding(14, 1)]] StructuredBuffer<float> Buf2 : register(t23, space102);28 29// CHECK: VarDecl {{.*}} Buf3 'StructuredBuffer<float>':'hlsl::StructuredBuffer<float>'30// CHECK-NEXT: CallExpr {{.*}} 'StructuredBuffer<float>':'hlsl::StructuredBuffer<float>'31// CHECK-NEXT: ImplicitCastExpr {{.*}} 'hlsl::StructuredBuffer<float> (*)(unsigned int, unsigned int, int, unsigned int, const char *)' <FunctionToPointerDecay>32// CHECK-NEXT: DeclRefExpr {{.*}} 'hlsl::StructuredBuffer<float> (unsigned int, unsigned int, int, unsigned int, const char *)' 33// CHECK-NEXT-SAME: CXXMethod {{.*}} '__createFromBinding' 'hlsl::StructuredBuffer<float> (unsigned int, unsigned int, int, unsigned int, const char *)'34// SPV-NEXT: IntegerLiteral {{.*}} 'unsigned int' 1435// SPV-NEXT: IntegerLiteral {{.*}} 'unsigned int' 036// DXIL-NEXT: IntegerLiteral {{.*}} 'unsigned int' 2337// DXIL-NEXT: IntegerLiteral {{.*}} 'unsigned int' 10238// CHECK: HLSLVkBindingAttr {{.*}} 14 039// CHECK: HLSLResourceBindingAttr {{.*}} "t23" "space102"40[[vk::binding(14)]] StructuredBuffer<float> Buf3 : register(t23, space102);41 42// CHECK: HLSLBufferDecl {{.*}} cbuffer CB43// CHECK-NEXT: HLSLResourceClassAttr {{.*}} Implicit CBuffer44// CHECK: HLSLVkBindingAttr {{.*}} 1 245[[vk::binding(1, 2)]] cbuffer CB {46  float a;47}48 49// CHECK: VarDecl {{.*}} Buf4 'Buffer<int>':'hlsl::Buffer<int>'50// CHECK-NEXT: CallExpr {{.*}} 'Buffer<int>':'hlsl::Buffer<int>'51// CHECK-NEXT: ImplicitCastExpr {{.*}} 'hlsl::Buffer<int> (*)(unsigned int, unsigned int, int, unsigned int, const char *)' <FunctionToPointerDecay>52// SPV-NEXT: DeclRefExpr {{.*}} 'hlsl::Buffer<int> (unsigned int, unsigned int, int, unsigned int, const char *)' 53// SPV-NEXT-SAME: CXXMethod {{.*}} '__createFromBinding' 'hlsl::Buffer<int> (unsigned int, unsigned int, int, unsigned int, const char *)'54// SPV-NEXT: IntegerLiteral {{.*}} 'unsigned int' 2455// SPV-NEXT: IntegerLiteral {{.*}} 'unsigned int' 10356// DXIL-NEXT: DeclRefExpr {{.*}} 'hlsl::Buffer<int> (unsigned int, unsigned int, int, unsigned int, const char *)'57// DXIL-NEXT-SAME: CXXMethod {{.*}} '__createFromImplicitBinding' 'hlsl::Buffer<int> (unsigned int, unsigned int, int, unsigned int, const char *)'58// DXIL-NEXT: IntegerLiteral {{.*}} 'unsigned int' 259// DXIL-NEXT: IntegerLiteral {{.*}} 'unsigned int' 060// CHECK: HLSLVkBindingAttr {{.*}} 24 10361[[vk::binding(24, 103)]] Buffer<int> Buf4;62 63// CHECK: VarDecl {{.*}} Buf5 'RWBuffer<int2>':'hlsl::RWBuffer<vector<int, 2>>'64// CHECK-NEXT: CallExpr {{.*}} 'RWBuffer<int2>':'hlsl::RWBuffer<vector<int, 2>>'65// CHECK-NEXT: ImplicitCastExpr {{.*}} 'hlsl::RWBuffer<vector<int, 2>> (*)(unsigned int, unsigned int, int, unsigned int, const char *)' <FunctionToPointerDecay>66// SPV-NEXT: DeclRefExpr {{.*}} 'hlsl::RWBuffer<vector<int, 2>> (unsigned int, unsigned int, int, unsigned int, const char *)' 67// SPV-NEXT-SAME: CXXMethod {{.*}} '__createFromBinding' 'Buffer<int2> (unsigned int, unsigned int, int, unsigned int, const char *)'68// SPV-NEXT: IntegerLiteral {{.*}} 'unsigned int' 2569// SPV-NEXT: IntegerLiteral {{.*}} 'unsigned int' 10470// DXIL-NEXT: DeclRefExpr {{.*}} 'hlsl::RWBuffer<vector<int, 2>> (unsigned int, unsigned int, int, unsigned int, const char *)' 71// DXIL-NEXT-SAME: CXXMethod {{.*}} '__createFromImplicitBinding' 'Buffer<int2> (unsigned int, unsigned int, int, unsigned int, const char *)'72// DXIL-NEXT: IntegerLiteral {{.*}} 'unsigned int' 373// DXIL-NEXT: IntegerLiteral {{.*}} 'unsigned int' 074// CHECK: HLSLVkBindingAttr {{.*}} 25 10475[[vk::binding(25, 104)]] RWBuffer<int2> Buf5;76 77// CHECK: VarDecl {{.*}} Buf6 'RWStructuredBuffer<int>':'hlsl::RWStructuredBuffer<int>'78// CHECK-NEXT: CallExpr {{.*}} 'RWStructuredBuffer<int>':'hlsl::RWStructuredBuffer<int>'79// CHECK-NEXT: ImplicitCastExpr {{.*}} 'hlsl::RWStructuredBuffer<int> (*)(unsigned int, unsigned int, int, unsigned int, const char *, unsigned int)' <FunctionToPointerDecay>80// SPV-NEXT: DeclRefExpr {{.*}} 'hlsl::RWStructuredBuffer<int> (unsigned int, unsigned int, int, unsigned int, const char *, unsigned int)' 81// SPV-NEXT-SAME: CXXMethod {{.*}} '__createFromBindingwithImplicitCounter' 'hlsl::RWStructuredBuffer<int> (unsigned int, unsigned int, int, unsigned int, const char *, unsigned int)'82// SPV-NEXT: IntegerLiteral {{.*}} 'unsigned int' 2683// SPV-NEXT: IntegerLiteral {{.*}} 'unsigned int' 10584// DXIL-NEXT: DeclRefExpr {{.*}} 'hlsl::RWStructuredBuffer<int> (unsigned int, unsigned int, int, unsigned int, const char *, unsigned int)' 85// DXIL-NEXT-SAME: CXXMethod {{.*}} '__createFromImplicitBindingwithImplicitCounter' 'hlsl::RWStructuredBuffer<int> (unsigned int, unsigned int, int, unsigned int, const char *, unsigned int)'86// DXIL-NEXT: IntegerLiteral {{.*}} 'unsigned int' 487// DXIL-NEXT: IntegerLiteral {{.*}} 'unsigned int' 088// CHECK: HLSLVkBindingAttr {{.*}} 26 10589[[vk::binding(26, 105)]] RWStructuredBuffer<int> Buf6;90