brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · a397074 Raw
43 lines · plain
1; RUN: opt -S --passes="print-dx-shader-flags" 2>&1 %s | FileCheck %s2; RUN: llc %s --filetype=obj -o - | obj2yaml | FileCheck %s --check-prefix=DXC3 4; This test makes sure that resource arrays sizes are accounted for when5; counting the number of UAVs for setting the shader flag '64 UAV slots' when6; the validator version is >= 1.67 8target triple = "dxil-pc-shadermodel6.7-library"9 10; CHECK:      Combined Shader Flags for Module11; CHECK-NEXT: Shader Flags Value: 0x0001800012 13; CHECK: Note: shader requires additional functionality:14; CHECK:        UAVs at every shader stage15; CHECK:        64 UAV slots16 17; CHECK: Function test : 0x0001800018define void @test() "hlsl.export" {19  ; RWBuffer<float> Buf : register(u0, space0)20  %buf0 = call target("dx.TypedBuffer", float, 1, 0, 1)21       @llvm.dx.resource.handlefrombinding.tdx.TypedBuffer_f32_1_0t(22           i32 0, i32 0, i32 1, i32 0, ptr null)23 24  ; RWBuffer<float> Buf[8] : register(u1, space0)25  %buf1 = call target("dx.TypedBuffer", float, 1, 0, 1)26       @llvm.dx.resource.handlefrombinding.tdx.TypedBuffer_f32_1_0t(27           i32 0, i32 1, i32 8, i32 0, ptr null)28  ret void29}30 31!dx.valver = !{!1}32!1 = !{i32 1, i32 6}33 34!llvm.module.flags = !{!0}35!0 = !{i32 1, !"dx.resmayalias", i32 1}36 37; DXC: - Name:            SFI038; DXC-NEXT:     Size:            839; DXC-NEXT:     Flags:40; DXC:       Max64UAVs:         true41; DXC:       NextUnusedBit:   false42; DXC: ...43