File: legacy_cb_layout_3.ll

package info (click to toggle)
llvm-toolchain-17 1%3A17.0.6-22
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,799,624 kB
  • sloc: cpp: 6,428,607; ansic: 1,383,196; asm: 793,408; python: 223,504; objc: 75,364; f90: 60,502; lisp: 33,869; pascal: 15,282; sh: 9,684; perl: 7,453; ml: 4,937; awk: 3,523; makefile: 2,889; javascript: 2,149; xml: 888; fortran: 619; cs: 573
file content (81 lines) | stat: -rw-r--r-- 3,427 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s --check-prefix=DXILMD

target 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"
target triple = "dxil-unknown-shadermodel6.7-library"

; cbuffer D
; {
;
;   struct D
;   {
;
;       int D0;                                       ; Offset:    0
;       struct struct.B
;       {
;
;           double B0;                                ; Offset:   16
;           float3 B1;                                ; Offset:   32
;           float B2;                                 ; Offset:   44
;           double3 B3;                               ; Offset:   48
;           half B4;                                  ; Offset:   72
;           double2 B5;                               ; Offset:   80
;           float B6;                                 ; Offset:   96
;           half3 B7;                                 ; Offset:  100
;           half3 B8;                                 ; Offset:  106
;       
;       } D1;                                         ; Offset:   16
;
;       half D2;                                      ; Offset:  112
;       struct struct.C
;       {
;
;           struct struct.A
;           {
;
;               float A0;                             ; Offset:  128
;               double A1;                            ; Offset:  136
;               float A2;                             ; Offset:  144
;               half A3;                              ; Offset:  148
;               int16_t A4;                           ; Offset:  150
;               int64_t A5;                           ; Offset:  152
;               int A6;                               ; Offset:  160
;           
;           } C0;                                     ; Offset:  128
;
;           float C1[1];                              ; Offset:  176
;           struct struct.B
;           {
;
;               double B0;                            ; Offset:  192
;               float3 B1;                            ; Offset:  208
;               float B2;                             ; Offset:  220
;               double3 B3;                           ; Offset:  224
;               half B4;                              ; Offset:  248
;               double2 B5;                           ; Offset:  256
;               float B6;                             ; Offset:  272
;               half3 B7;                             ; Offset:  276
;               half3 B8;                             ; Offset:  282
;           
;           } C2[2];;                                 ; Offset:  192
;
;           half C3;                                  ; Offset:  384
;       
;       } D3;                                         ; Offset:  128
;
;       double D4;                                    ; Offset:  392
;   
;   } D;                                              ; Offset:    0 Size:   400


; Make sure the size is 400
; DXILMD:!{i32 0, ptr @D.cb., !"", i32 0, i32 1, i32 1, i32 400}


%struct.B = type <{ double, <3 x float>, float, <3 x double>, half, <2 x double>, float, <3 x half>, <3 x half> }>
%struct.C = type <{ %struct.A, [1 x float], [2 x %struct.B], half }>
%struct.A = type <{ float, double, float, half, i16, i64, i32 }>

@D.cb. = external local_unnamed_addr constant { i32, %struct.B, half, %struct.C, double }

!hlsl.cbufs = !{!0}
!0 = !{ptr @D.cb., !"D.cb.ty", i32 13, i32 1, i32 0}