1; RUN: opt -S -dxil-translate-metadata < %s | FileCheck %s --check-prefix=DXILMD 2 3target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64" 4target triple = "dxil-unknown-shadermodel6.7-library" 5 6; cbuffer B 7; { 8; 9; struct B 10; { 11; 12; double B0[2]; ; Offset: 0 13; float3 B1[3]; ; Offset: 32 14; float B2; ; Offset: 76 15; double B3[3]; ; Offset: 80 16; half B4; ; Offset: 120 17; double2 B5[1]; ; Offset: 128 18; float B6; ; Offset: 144 19; half3 B7[2]; ; Offset: 160 20; half3 B8; ; Offset: 182 21; 22; } B; ; Offset: 0 Size: 188 23; 24; } 25; 26; cbuffer B 27; { 28; 29; struct B.0 30; { 31; 32; double3 B9[3]; ; Offset: 0 33; half3 B10; ; Offset: 88 34; 35; } B; ; Offset: 0 Size: 94 36; 37; } 38 39 40; Make sure the size is 188. 41; DXILMD:!{i32 0, ptr @B.cb., !"", i32 0, i32 1, i32 1, i32 188} 42; Make sure the size is 94. 43; DXILMD:!{i32 1, ptr @B.cb..1, !"", i32 0, i32 2, i32 1, i32 94} 44 45@B.cb. = external local_unnamed_addr constant { [2 x double], [3 x <3 x float>], float, [3 x double], half, [1 x <2 x double>], float, [2 x <3 x half>], <3 x half> } 46@B.cb..1 = external local_unnamed_addr constant { [3 x <3 x double>], <3 x half> } 47 48!hlsl.cbufs = !{!0, !1} 49 50!0 = !{ptr @B.cb., !"B.cb.ty", i32 13, i1 false, i32 1, i32 0} 51!1 = !{ptr @B.cb..1, !"B.cb.ty", i32 13, i1 false, i32 2, i32 0} 52