423 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			423 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
spv.debugInfo.frag
 | 
						|
// Module Version 10300
 | 
						|
// Generated by (magic number): 8000b
 | 
						|
// Id's are bound by 187
 | 
						|
 | 
						|
                              Capability Shader
 | 
						|
               2:             ExtInstImport  "GLSL.std.450"
 | 
						|
                              MemoryModel Logical GLSL450
 | 
						|
                              EntryPoint Fragment 5  "main" 30 104
 | 
						|
                              ExecutionMode 5 OriginUpperLeft
 | 
						|
               1:             String  "spv.debugInfo.frag"
 | 
						|
                              Source GLSL 450 1  "#version 450
 | 
						|
 | 
						|
struct S {
 | 
						|
    int a;
 | 
						|
};
 | 
						|
 | 
						|
uniform ubuf {
 | 
						|
    S s;
 | 
						|
};
 | 
						|
 | 
						|
uniform sampler2D s2d;
 | 
						|
 | 
						|
layout(location = 0) in vec4 inv;
 | 
						|
layout(location = 0) out vec4 outv;
 | 
						|
 | 
						|
vec4 foo(S s)
 | 
						|
{
 | 
						|
    vec4 r = s.a * inv;
 | 
						|
    ++r;
 | 
						|
    if (r.x > 3.0)
 | 
						|
        --r;
 | 
						|
    else
 | 
						|
        r *= 2;
 | 
						|
 | 
						|
    return r;
 | 
						|
}
 | 
						|
 | 
						|
float testBranch(float x, float y)
 | 
						|
{
 | 
						|
    float result = 0;
 | 
						|
    bool b = x > 0;
 | 
						|
 | 
						|
    // branch with load
 | 
						|
    if (b) {
 | 
						|
        result += 1;
 | 
						|
    }
 | 
						|
    else {
 | 
						|
        result -= 1;
 | 
						|
    }
 | 
						|
 | 
						|
    // branch with expression
 | 
						|
    if (x > y) {
 | 
						|
        result += x - y;
 | 
						|
    }
 | 
						|
 | 
						|
    // selection with load
 | 
						|
    result += b ?
 | 
						|
        1 : -1;
 | 
						|
 | 
						|
    // selection with expression
 | 
						|
    result += x < y ? 
 | 
						|
        y : 
 | 
						|
        float(b);
 | 
						|
 | 
						|
    return result;
 | 
						|
}
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
    outv = foo(s);
 | 
						|
    outv += testBranch(inv.x, inv.y);
 | 
						|
    outv += texture(s2d, vec2(0.5));
 | 
						|
 | 
						|
    switch (s.a) {
 | 
						|
    case 10:
 | 
						|
        ++outv;
 | 
						|
        break;
 | 
						|
    case 20:
 | 
						|
        outv = 2 * outv;
 | 
						|
        ++outv;
 | 
						|
        break;
 | 
						|
    default:
 | 
						|
        --outv;
 | 
						|
        break;
 | 
						|
    }
 | 
						|
 | 
						|
    for (int i = 0; i < 10; ++i)
 | 
						|
        outv *= 3.0;
 | 
						|
 | 
						|
    outv.x < 10.0 ?
 | 
						|
        outv = sin(outv) :
 | 
						|
        outv = cos(outv);
 | 
						|
}"
 | 
						|
                              Name 5  "main"
 | 
						|
                              Name 8  "S"
 | 
						|
                              MemberName 8(S) 0  "a"
 | 
						|
                              Name 14  "foo(struct-S-i11;"
 | 
						|
                              Name 13  "s"
 | 
						|
                              Name 20  "testBranch(f1;f1;"
 | 
						|
                              Name 18  "x"
 | 
						|
                              Name 19  "y"
 | 
						|
                              Name 23  "r"
 | 
						|
                              Name 30  "inv"
 | 
						|
                              Name 56  "result"
 | 
						|
                              Name 59  "b"
 | 
						|
                              Name 104  "outv"
 | 
						|
                              Name 105  "S"
 | 
						|
                              MemberName 105(S) 0  "a"
 | 
						|
                              Name 106  "ubuf"
 | 
						|
                              MemberName 106(ubuf) 0  "s"
 | 
						|
                              Name 108  ""
 | 
						|
                              Name 109  "param"
 | 
						|
                              Name 116  "param"
 | 
						|
                              Name 120  "param"
 | 
						|
                              Name 131  "s2d"
 | 
						|
                              Name 161  "i"
 | 
						|
                              ModuleProcessed  "no-storage-format"
 | 
						|
                              ModuleProcessed  "resource-set-binding 3"
 | 
						|
                              ModuleProcessed  "auto-map-bindings"
 | 
						|
                              ModuleProcessed  "auto-map-locations"
 | 
						|
                              ModuleProcessed  "client vulkan100"
 | 
						|
                              ModuleProcessed  "target-env spirv1.3"
 | 
						|
                              ModuleProcessed  "target-env vulkan1.1"
 | 
						|
                              ModuleProcessed  "relaxed-errors"
 | 
						|
                              ModuleProcessed  "suppress-warnings"
 | 
						|
                              ModuleProcessed  "hlsl-offsets"
 | 
						|
                              ModuleProcessed  "entry-point main"
 | 
						|
                              Decorate 30(inv) Location 0
 | 
						|
                              Decorate 104(outv) Location 0
 | 
						|
                              MemberDecorate 105(S) 0 Offset 0
 | 
						|
                              MemberDecorate 106(ubuf) 0 Offset 0
 | 
						|
                              Decorate 106(ubuf) Block
 | 
						|
                              Decorate 108 DescriptorSet 3
 | 
						|
                              Decorate 108 Binding 0
 | 
						|
                              Decorate 131(s2d) DescriptorSet 3
 | 
						|
                              Decorate 131(s2d) Binding 1
 | 
						|
               3:             TypeVoid
 | 
						|
               4:             TypeFunction 3
 | 
						|
               7:             TypeInt 32 1
 | 
						|
            8(S):             TypeStruct 7(int)
 | 
						|
               9:             TypePointer Function 8(S)
 | 
						|
              10:             TypeFloat 32
 | 
						|
              11:             TypeVector 10(float) 4
 | 
						|
              12:             TypeFunction 11(fvec4) 9(ptr)
 | 
						|
              16:             TypePointer Function 10(float)
 | 
						|
              17:             TypeFunction 10(float) 16(ptr) 16(ptr)
 | 
						|
              22:             TypePointer Function 11(fvec4)
 | 
						|
              24:      7(int) Constant 0
 | 
						|
              25:             TypePointer Function 7(int)
 | 
						|
              29:             TypePointer Input 11(fvec4)
 | 
						|
         30(inv):     29(ptr) Variable Input
 | 
						|
              34:   10(float) Constant 1065353216
 | 
						|
              37:             TypeInt 32 0
 | 
						|
              38:     37(int) Constant 0
 | 
						|
              41:   10(float) Constant 1077936128
 | 
						|
              42:             TypeBool
 | 
						|
              50:   10(float) Constant 1073741824
 | 
						|
              57:   10(float) Constant 0
 | 
						|
              58:             TypePointer Function 42(bool)
 | 
						|
              81:      7(int) Constant 1
 | 
						|
              82:      7(int) Constant 4294967295
 | 
						|
             103:             TypePointer Output 11(fvec4)
 | 
						|
       104(outv):    103(ptr) Variable Output
 | 
						|
          105(S):             TypeStruct 7(int)
 | 
						|
       106(ubuf):             TypeStruct 105(S)
 | 
						|
             107:             TypePointer Uniform 106(ubuf)
 | 
						|
             108:    107(ptr) Variable Uniform
 | 
						|
             110:             TypePointer Uniform 105(S)
 | 
						|
             117:             TypePointer Input 10(float)
 | 
						|
             121:     37(int) Constant 1
 | 
						|
             128:             TypeImage 10(float) 2D sampled format:Unknown
 | 
						|
             129:             TypeSampledImage 128
 | 
						|
             130:             TypePointer UniformConstant 129
 | 
						|
        131(s2d):    130(ptr) Variable UniformConstant
 | 
						|
             133:             TypeVector 10(float) 2
 | 
						|
             134:   10(float) Constant 1056964608
 | 
						|
             135:  133(fvec2) ConstantComposite 134 134
 | 
						|
             139:             TypePointer Uniform 7(int)
 | 
						|
             168:      7(int) Constant 10
 | 
						|
             174:             TypePointer Output 10(float)
 | 
						|
             177:   10(float) Constant 1092616192
 | 
						|
                              Line 1 58 11
 | 
						|
         5(main):           3 Function None 4
 | 
						|
               6:             Label
 | 
						|
      109(param):      9(ptr) Variable Function
 | 
						|
      116(param):     16(ptr) Variable Function
 | 
						|
      120(param):     16(ptr) Variable Function
 | 
						|
          161(i):     25(ptr) Variable Function
 | 
						|
             179:     22(ptr) Variable Function
 | 
						|
                              Line 1 60 0
 | 
						|
             111:    110(ptr) AccessChain 108 24
 | 
						|
             112:      105(S) Load 111
 | 
						|
             113:      7(int) CompositeExtract 112 0
 | 
						|
             114:     25(ptr) AccessChain 109(param) 24
 | 
						|
                              Store 114 113
 | 
						|
             115:   11(fvec4) FunctionCall 14(foo(struct-S-i11;) 109(param)
 | 
						|
                              Store 104(outv) 115
 | 
						|
                              Line 1 61 0
 | 
						|
             118:    117(ptr) AccessChain 30(inv) 38
 | 
						|
             119:   10(float) Load 118
 | 
						|
                              Store 116(param) 119
 | 
						|
             122:    117(ptr) AccessChain 30(inv) 121
 | 
						|
             123:   10(float) Load 122
 | 
						|
                              Store 120(param) 123
 | 
						|
             124:   10(float) FunctionCall 20(testBranch(f1;f1;) 116(param) 120(param)
 | 
						|
             125:   11(fvec4) Load 104(outv)
 | 
						|
             126:   11(fvec4) CompositeConstruct 124 124 124 124
 | 
						|
             127:   11(fvec4) FAdd 125 126
 | 
						|
                              Store 104(outv) 127
 | 
						|
                              Line 1 62 0
 | 
						|
             132:         129 Load 131(s2d)
 | 
						|
             136:   11(fvec4) ImageSampleImplicitLod 132 135
 | 
						|
             137:   11(fvec4) Load 104(outv)
 | 
						|
             138:   11(fvec4) FAdd 137 136
 | 
						|
                              Store 104(outv) 138
 | 
						|
                              Line 1 64 0
 | 
						|
             140:    139(ptr) AccessChain 108 24 24
 | 
						|
             141:      7(int) Load 140
 | 
						|
                              SelectionMerge 145 None
 | 
						|
                              Switch 141 144 
 | 
						|
                                     case 10: 142
 | 
						|
                                     case 20: 143
 | 
						|
             144:               Label
 | 
						|
                                Line 1 73 0
 | 
						|
             156:   11(fvec4)   Load 104(outv)
 | 
						|
             157:   11(fvec4)   CompositeConstruct 34 34 34 34
 | 
						|
             158:   11(fvec4)   FSub 156 157
 | 
						|
                                Store 104(outv) 158
 | 
						|
                                Line 1 74 0
 | 
						|
                                Branch 145
 | 
						|
             142:               Label
 | 
						|
                                Line 1 66 0
 | 
						|
             146:   11(fvec4)   Load 104(outv)
 | 
						|
             147:   11(fvec4)   CompositeConstruct 34 34 34 34
 | 
						|
             148:   11(fvec4)   FAdd 146 147
 | 
						|
                                Store 104(outv) 148
 | 
						|
                                Line 1 67 0
 | 
						|
                                Branch 145
 | 
						|
             143:               Label
 | 
						|
                                Line 1 69 0
 | 
						|
             150:   11(fvec4)   Load 104(outv)
 | 
						|
             151:   11(fvec4)   VectorTimesScalar 150 50
 | 
						|
                                Store 104(outv) 151
 | 
						|
                                Line 1 70 0
 | 
						|
             152:   11(fvec4)   Load 104(outv)
 | 
						|
             153:   11(fvec4)   CompositeConstruct 34 34 34 34
 | 
						|
             154:   11(fvec4)   FAdd 152 153
 | 
						|
                                Store 104(outv) 154
 | 
						|
                                Line 1 71 0
 | 
						|
                                Branch 145
 | 
						|
             145:             Label
 | 
						|
                              Line 1 77 0
 | 
						|
                              Store 161(i) 24
 | 
						|
                              Branch 162
 | 
						|
             162:             Label
 | 
						|
                              Line 1 77 0
 | 
						|
                              LoopMerge 164 165 None
 | 
						|
                              Branch 166
 | 
						|
             166:             Label
 | 
						|
                              Line 1 77 0
 | 
						|
             167:      7(int) Load 161(i)
 | 
						|
             169:    42(bool) SLessThan 167 168
 | 
						|
                              BranchConditional 169 163 164
 | 
						|
             163:               Label
 | 
						|
                                Line 1 78 0
 | 
						|
             170:   11(fvec4)   Load 104(outv)
 | 
						|
             171:   11(fvec4)   VectorTimesScalar 170 41
 | 
						|
                                Store 104(outv) 171
 | 
						|
                                Branch 165
 | 
						|
             165:               Label
 | 
						|
                                Line 1 77 0
 | 
						|
             172:      7(int)   Load 161(i)
 | 
						|
             173:      7(int)   IAdd 172 81
 | 
						|
                                Store 161(i) 173
 | 
						|
                                Branch 162
 | 
						|
             164:             Label
 | 
						|
                              Line 1 80 0
 | 
						|
             175:    174(ptr) AccessChain 104(outv) 38
 | 
						|
             176:   10(float) Load 175
 | 
						|
             178:    42(bool) FOrdLessThan 176 177
 | 
						|
                              SelectionMerge 181 None
 | 
						|
                              BranchConditional 178 180 184
 | 
						|
             180:               Label
 | 
						|
                                Line 1 81 0
 | 
						|
             182:   11(fvec4)   Load 104(outv)
 | 
						|
             183:   11(fvec4)   ExtInst 2(GLSL.std.450) 13(Sin) 182
 | 
						|
                                Store 104(outv) 183
 | 
						|
                                Store 179 183
 | 
						|
                                Branch 181
 | 
						|
             184:               Label
 | 
						|
                                Line 1 82 0
 | 
						|
             185:   11(fvec4)   Load 104(outv)
 | 
						|
             186:   11(fvec4)   ExtInst 2(GLSL.std.450) 14(Cos) 185
 | 
						|
                                Store 104(outv) 186
 | 
						|
                                Store 179 186
 | 
						|
                                Branch 181
 | 
						|
             181:             Label
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 | 
						|
                              Line 1 16 13
 | 
						|
14(foo(struct-S-i11;):   11(fvec4) Function None 12
 | 
						|
           13(s):      9(ptr) FunctionParameter
 | 
						|
              15:             Label
 | 
						|
           23(r):     22(ptr) Variable Function
 | 
						|
                              Line 1 18 0
 | 
						|
              26:     25(ptr) AccessChain 13(s) 24
 | 
						|
              27:      7(int) Load 26
 | 
						|
              28:   10(float) ConvertSToF 27
 | 
						|
              31:   11(fvec4) Load 30(inv)
 | 
						|
              32:   11(fvec4) VectorTimesScalar 31 28
 | 
						|
                              Store 23(r) 32
 | 
						|
                              Line 1 19 0
 | 
						|
              33:   11(fvec4) Load 23(r)
 | 
						|
              35:   11(fvec4) CompositeConstruct 34 34 34 34
 | 
						|
              36:   11(fvec4) FAdd 33 35
 | 
						|
                              Store 23(r) 36
 | 
						|
                              Line 1 20 0
 | 
						|
              39:     16(ptr) AccessChain 23(r) 38
 | 
						|
              40:   10(float) Load 39
 | 
						|
              43:    42(bool) FOrdGreaterThan 40 41
 | 
						|
                              SelectionMerge 45 None
 | 
						|
                              BranchConditional 43 44 49
 | 
						|
              44:               Label
 | 
						|
                                Line 1 21 0
 | 
						|
              46:   11(fvec4)   Load 23(r)
 | 
						|
              47:   11(fvec4)   CompositeConstruct 34 34 34 34
 | 
						|
              48:   11(fvec4)   FSub 46 47
 | 
						|
                                Store 23(r) 48
 | 
						|
                                Branch 45
 | 
						|
              49:               Label
 | 
						|
                                Line 1 23 0
 | 
						|
              51:   11(fvec4)   Load 23(r)
 | 
						|
              52:   11(fvec4)   VectorTimesScalar 51 50
 | 
						|
                                Store 23(r) 52
 | 
						|
                                Branch 45
 | 
						|
              45:             Label
 | 
						|
                              Line 1 25 0
 | 
						|
              53:   11(fvec4) Load 23(r)
 | 
						|
                              ReturnValue 53
 | 
						|
                              FunctionEnd
 | 
						|
                              Line 1 28 34
 | 
						|
20(testBranch(f1;f1;):   10(float) Function None 17
 | 
						|
           18(x):     16(ptr) FunctionParameter
 | 
						|
           19(y):     16(ptr) FunctionParameter
 | 
						|
              21:             Label
 | 
						|
      56(result):     16(ptr) Variable Function
 | 
						|
           59(b):     58(ptr) Variable Function
 | 
						|
              90:     16(ptr) Variable Function
 | 
						|
                              Line 1 30 0
 | 
						|
                              Store 56(result) 57
 | 
						|
                              Line 1 31 0
 | 
						|
              60:   10(float) Load 18(x)
 | 
						|
              61:    42(bool) FOrdGreaterThan 60 57
 | 
						|
                              Store 59(b) 61
 | 
						|
                              Line 1 34 0
 | 
						|
              62:    42(bool) Load 59(b)
 | 
						|
                              SelectionMerge 64 None
 | 
						|
                              BranchConditional 62 63 67
 | 
						|
              63:               Label
 | 
						|
                                Line 1 35 0
 | 
						|
              65:   10(float)   Load 56(result)
 | 
						|
              66:   10(float)   FAdd 65 34
 | 
						|
                                Store 56(result) 66
 | 
						|
                                Branch 64
 | 
						|
              67:               Label
 | 
						|
                                Line 1 38 0
 | 
						|
              68:   10(float)   Load 56(result)
 | 
						|
              69:   10(float)   FSub 68 34
 | 
						|
                                Store 56(result) 69
 | 
						|
                                Branch 64
 | 
						|
              64:             Label
 | 
						|
                              Line 1 42 0
 | 
						|
              70:   10(float) Load 18(x)
 | 
						|
              71:   10(float) Load 19(y)
 | 
						|
              72:    42(bool) FOrdGreaterThan 70 71
 | 
						|
                              SelectionMerge 74 None
 | 
						|
                              BranchConditional 72 73 74
 | 
						|
              73:               Label
 | 
						|
                                Line 1 43 0
 | 
						|
              75:   10(float)   Load 18(x)
 | 
						|
              76:   10(float)   Load 19(y)
 | 
						|
              77:   10(float)   FSub 75 76
 | 
						|
              78:   10(float)   Load 56(result)
 | 
						|
              79:   10(float)   FAdd 78 77
 | 
						|
                                Store 56(result) 79
 | 
						|
                                Branch 74
 | 
						|
              74:             Label
 | 
						|
                              Line 1 47 0
 | 
						|
              80:    42(bool) Load 59(b)
 | 
						|
              83:      7(int) Select 80 81 82
 | 
						|
              84:   10(float) ConvertSToF 83
 | 
						|
              85:   10(float) Load 56(result)
 | 
						|
              86:   10(float) FAdd 85 84
 | 
						|
                              Store 56(result) 86
 | 
						|
                              Line 1 51 0
 | 
						|
              87:   10(float) Load 18(x)
 | 
						|
              88:   10(float) Load 19(y)
 | 
						|
              89:    42(bool) FOrdLessThan 87 88
 | 
						|
                              SelectionMerge 92 None
 | 
						|
                              BranchConditional 89 91 94
 | 
						|
              91:               Label
 | 
						|
                                Line 1 52 0
 | 
						|
              93:   10(float)   Load 19(y)
 | 
						|
                                Store 90 93
 | 
						|
                                Branch 92
 | 
						|
              94:               Label
 | 
						|
                                Line 1 53 0
 | 
						|
              95:    42(bool)   Load 59(b)
 | 
						|
              96:   10(float)   Select 95 34 57
 | 
						|
                                Store 90 96
 | 
						|
                                Branch 92
 | 
						|
              92:             Label
 | 
						|
              97:   10(float) Load 90
 | 
						|
                              Line 1 51 0
 | 
						|
              98:   10(float) Load 56(result)
 | 
						|
              99:   10(float) FAdd 98 97
 | 
						|
                              Store 56(result) 99
 | 
						|
                              Line 1 55 0
 | 
						|
             100:   10(float) Load 56(result)
 | 
						|
                              ReturnValue 100
 | 
						|
                              FunctionEnd
 |