1hlsl.buffer.frag 2Shader version: 500 3gl_FragCoord origin is upper left 40:? Sequence 50:30 Function Definition: foo( ( temp float) 60:30 Function Parameters: 70:? Sequence 80:31 Branch: Return with expression 90:31 Constant: 100:31 1.000000 110:43 Function Definition: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a}) 120:43 Function Parameters: 130:43 'input' ( in 4-component vector of float) 140:? Sequence 150:45 move second child to first child ( temp 4-component vector of float) 160:45 a: direct index for structure ( temp 4-component vector of float) 170:45 'ret' ( temp structure{ temp 4-component vector of float a}) 180:45 Constant: 190:45 0 (const int) 200:45 add ( temp 4-component vector of float) 210:45 v24: direct index for structure (layout( row_major std140) uniform 4-component vector of float) 220:45 'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24}) 230:45 Constant: 240:45 0 (const uint) 250:45 vector-scale ( temp 4-component vector of float) 260:45 add ( temp 4-component vector of float) 270:45 add ( temp 4-component vector of float) 280:45 add ( temp 4-component vector of float) 290:45 add ( temp 4-component vector of float) 300:45 'input' ( in 4-component vector of float) 310:45 v1: direct index for structure (layout( row_major std140) uniform 4-component vector of float) 320:45 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1}) 330:45 Constant: 340:45 0 (const uint) 350:45 v2: direct index for structure (layout( row_major std430) buffer 4-component vector of float) 360:45 'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2}) 370:45 Constant: 380:45 0 (const uint) 390:45 v3: direct index for structure (layout( row_major std140 offset=0) uniform 4-component vector of float) 400:45 'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3}) 410:45 Constant: 420:45 0 (const uint) 430:45 v4: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float) 440:45 'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4}) 450:45 Constant: 460:45 0 (const uint) 470:45 Function Call: foo( ( temp float) 480:46 Branch: Return with expression 490:46 'ret' ( temp structure{ temp 4-component vector of float a}) 500:43 Function Definition: PixelShaderFunction( ( temp void) 510:43 Function Parameters: 520:? Sequence 530:43 move second child to first child ( temp 4-component vector of float) 540:? 'input' ( temp 4-component vector of float) 550:? 'input' ( in 4-component vector of float FragCoord) 560:43 Sequence 570:43 move second child to first child ( temp 4-component vector of float) 580:? '@entryPointOutput.a' (layout( location=0) out 4-component vector of float) 590:43 a: direct index for structure ( temp 4-component vector of float) 600:43 Function Call: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a}) 610:? 'input' ( temp 4-component vector of float) 620:43 Constant: 630:43 0 (const int) 640:? Linker Objects 650:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1}) 660:? 'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2}) 670:? 'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3}) 680:? 'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4}) 690:? 'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24}) 700:? '@entryPointOutput.a' (layout( location=0) out 4-component vector of float) 710:? 'input' ( in 4-component vector of float FragCoord) 72 73 74Linked fragment stage: 75 76 77Shader version: 500 78gl_FragCoord origin is upper left 790:? Sequence 800:30 Function Definition: foo( ( temp float) 810:30 Function Parameters: 820:? Sequence 830:31 Branch: Return with expression 840:31 Constant: 850:31 1.000000 860:43 Function Definition: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a}) 870:43 Function Parameters: 880:43 'input' ( in 4-component vector of float) 890:? Sequence 900:45 move second child to first child ( temp 4-component vector of float) 910:45 a: direct index for structure ( temp 4-component vector of float) 920:45 'ret' ( temp structure{ temp 4-component vector of float a}) 930:45 Constant: 940:45 0 (const int) 950:45 add ( temp 4-component vector of float) 960:45 v24: direct index for structure (layout( row_major std140) uniform 4-component vector of float) 970:45 'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24}) 980:45 Constant: 990:45 0 (const uint) 1000:45 vector-scale ( temp 4-component vector of float) 1010:45 add ( temp 4-component vector of float) 1020:45 add ( temp 4-component vector of float) 1030:45 add ( temp 4-component vector of float) 1040:45 add ( temp 4-component vector of float) 1050:45 'input' ( in 4-component vector of float) 1060:45 v1: direct index for structure (layout( row_major std140) uniform 4-component vector of float) 1070:45 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1}) 1080:45 Constant: 1090:45 0 (const uint) 1100:45 v2: direct index for structure (layout( row_major std430) buffer 4-component vector of float) 1110:45 'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2}) 1120:45 Constant: 1130:45 0 (const uint) 1140:45 v3: direct index for structure (layout( row_major std140 offset=0) uniform 4-component vector of float) 1150:45 'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3}) 1160:45 Constant: 1170:45 0 (const uint) 1180:45 v4: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float) 1190:45 'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4}) 1200:45 Constant: 1210:45 0 (const uint) 1220:45 Function Call: foo( ( temp float) 1230:46 Branch: Return with expression 1240:46 'ret' ( temp structure{ temp 4-component vector of float a}) 1250:43 Function Definition: PixelShaderFunction( ( temp void) 1260:43 Function Parameters: 1270:? Sequence 1280:43 move second child to first child ( temp 4-component vector of float) 1290:? 'input' ( temp 4-component vector of float) 1300:? 'input' ( in 4-component vector of float FragCoord) 1310:43 Sequence 1320:43 move second child to first child ( temp 4-component vector of float) 1330:? '@entryPointOutput.a' (layout( location=0) out 4-component vector of float) 1340:43 a: direct index for structure ( temp 4-component vector of float) 1350:43 Function Call: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a}) 1360:? 'input' ( temp 4-component vector of float) 1370:43 Constant: 1380:43 0 (const int) 1390:? Linker Objects 1400:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1}) 1410:? 'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2}) 1420:? 'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3}) 1430:? 'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4}) 1440:? 'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24}) 1450:? '@entryPointOutput.a' (layout( location=0) out 4-component vector of float) 1460:? 'input' ( in 4-component vector of float FragCoord) 147 148// Module Version 10000 149// Generated by (magic number): 80007 150// Id's are bound by 73 151 152 Capability Shader 153 1: ExtInstImport "GLSL.std.450" 154 MemoryModel Logical GLSL450 155 EntryPoint Fragment 4 "PixelShaderFunction" 65 68 156 ExecutionMode 4 OriginUpperLeft 157 Source HLSL 500 158 Name 4 "PixelShaderFunction" 159 Name 8 "foo(" 160 Name 12 "id" 161 MemberName 12(id) 0 "a" 162 Name 15 "@PixelShaderFunction(vf4;" 163 Name 14 "input" 164 Name 21 "ret" 165 Name 24 "cbufName2" 166 MemberName 24(cbufName2) 0 "v24" 167 Name 26 "" 168 Name 31 "buf1" 169 MemberName 31(buf1) 0 "v1" 170 Name 33 "" 171 Name 37 "buf2" 172 MemberName 37(buf2) 0 "v2" 173 Name 39 "" 174 Name 43 "cbufName" 175 MemberName 43(cbufName) 0 "v3" 176 MemberName 43(cbufName) 1 "i3" 177 Name 45 "" 178 Name 50 "tbufName" 179 MemberName 50(tbufName) 0 "v4" 180 MemberName 50(tbufName) 1 "i4" 181 MemberName 50(tbufName) 2 "f1" 182 MemberName 50(tbufName) 3 "f3" 183 MemberName 50(tbufName) 4 "f4" 184 MemberName 50(tbufName) 5 "f5" 185 MemberName 50(tbufName) 6 "f6" 186 MemberName 50(tbufName) 7 "f7" 187 MemberName 50(tbufName) 8 "m1" 188 MemberName 50(tbufName) 9 "m2" 189 MemberName 50(tbufName) 10 "m3" 190 MemberName 50(tbufName) 11 "m4" 191 Name 52 "" 192 Name 63 "input" 193 Name 65 "input" 194 Name 68 "@entryPointOutput.a" 195 Name 69 "param" 196 MemberDecorate 24(cbufName2) 0 Offset 0 197 Decorate 24(cbufName2) Block 198 Decorate 26 DescriptorSet 0 199 MemberDecorate 31(buf1) 0 Offset 0 200 Decorate 31(buf1) Block 201 Decorate 33 DescriptorSet 0 202 MemberDecorate 37(buf2) 0 NonWritable 203 MemberDecorate 37(buf2) 0 Offset 0 204 Decorate 37(buf2) BufferBlock 205 Decorate 39 DescriptorSet 0 206 MemberDecorate 43(cbufName) 0 Offset 0 207 MemberDecorate 43(cbufName) 1 Offset 20 208 Decorate 43(cbufName) Block 209 Decorate 45 DescriptorSet 0 210 MemberDecorate 50(tbufName) 0 NonWritable 211 MemberDecorate 50(tbufName) 0 Offset 16 212 MemberDecorate 50(tbufName) 1 NonWritable 213 MemberDecorate 50(tbufName) 1 Offset 48 214 MemberDecorate 50(tbufName) 2 NonWritable 215 MemberDecorate 50(tbufName) 2 Offset 60 216 MemberDecorate 50(tbufName) 3 NonWritable 217 MemberDecorate 50(tbufName) 3 Offset 64 218 MemberDecorate 50(tbufName) 4 NonWritable 219 MemberDecorate 50(tbufName) 4 Offset 68 220 MemberDecorate 50(tbufName) 5 NonWritable 221 MemberDecorate 50(tbufName) 5 Offset 72 222 MemberDecorate 50(tbufName) 6 NonWritable 223 MemberDecorate 50(tbufName) 6 Offset 76 224 MemberDecorate 50(tbufName) 7 NonWritable 225 MemberDecorate 50(tbufName) 7 Offset 128 226 MemberDecorate 50(tbufName) 8 RowMajor 227 MemberDecorate 50(tbufName) 8 NonWritable 228 MemberDecorate 50(tbufName) 8 Offset 112 229 MemberDecorate 50(tbufName) 8 MatrixStride 16 230 MemberDecorate 50(tbufName) 9 ColMajor 231 MemberDecorate 50(tbufName) 9 NonWritable 232 MemberDecorate 50(tbufName) 9 Offset 176 233 MemberDecorate 50(tbufName) 9 MatrixStride 16 234 MemberDecorate 50(tbufName) 10 RowMajor 235 MemberDecorate 50(tbufName) 10 NonWritable 236 MemberDecorate 50(tbufName) 10 Offset 240 237 MemberDecorate 50(tbufName) 10 MatrixStride 16 238 MemberDecorate 50(tbufName) 11 RowMajor 239 MemberDecorate 50(tbufName) 11 NonWritable 240 MemberDecorate 50(tbufName) 11 Offset 304 241 MemberDecorate 50(tbufName) 11 MatrixStride 16 242 Decorate 50(tbufName) BufferBlock 243 Decorate 52 DescriptorSet 0 244 Decorate 52 Binding 8 245 Decorate 65(input) BuiltIn FragCoord 246 Decorate 68(@entryPointOutput.a) Location 0 247 2: TypeVoid 248 3: TypeFunction 2 249 6: TypeFloat 32 250 7: TypeFunction 6(float) 251 10: TypeVector 6(float) 4 252 11: TypePointer Function 10(fvec4) 253 12(id): TypeStruct 10(fvec4) 254 13: TypeFunction 12(id) 11(ptr) 255 17: 6(float) Constant 1065353216 256 20: TypePointer Function 12(id) 257 22: TypeInt 32 1 258 23: 22(int) Constant 0 259 24(cbufName2): TypeStruct 10(fvec4) 260 25: TypePointer Uniform 24(cbufName2) 261 26: 25(ptr) Variable Uniform 262 27: TypePointer Uniform 10(fvec4) 263 31(buf1): TypeStruct 10(fvec4) 264 32: TypePointer Uniform 31(buf1) 265 33: 32(ptr) Variable Uniform 266 37(buf2): TypeStruct 10(fvec4) 267 38: TypePointer Uniform 37(buf2) 268 39: 38(ptr) Variable Uniform 269 43(cbufName): TypeStruct 10(fvec4) 22(int) 270 44: TypePointer Uniform 43(cbufName) 271 45: 44(ptr) Variable Uniform 272 49: TypeMatrix 10(fvec4) 3 273 50(tbufName): TypeStruct 10(fvec4) 22(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 49 49 49 49 274 51: TypePointer Uniform 50(tbufName) 275 52: 51(ptr) Variable Uniform 276 64: TypePointer Input 10(fvec4) 277 65(input): 64(ptr) Variable Input 278 67: TypePointer Output 10(fvec4) 27968(@entryPointOutput.a): 67(ptr) Variable Output 2804(PixelShaderFunction): 2 Function None 3 281 5: Label 282 63(input): 11(ptr) Variable Function 283 69(param): 11(ptr) Variable Function 284 66: 10(fvec4) Load 65(input) 285 Store 63(input) 66 286 70: 10(fvec4) Load 63(input) 287 Store 69(param) 70 288 71: 12(id) FunctionCall 15(@PixelShaderFunction(vf4;) 69(param) 289 72: 10(fvec4) CompositeExtract 71 0 290 Store 68(@entryPointOutput.a) 72 291 Return 292 FunctionEnd 293 8(foo(): 6(float) Function None 7 294 9: Label 295 ReturnValue 17 296 FunctionEnd 29715(@PixelShaderFunction(vf4;): 12(id) Function None 13 298 14(input): 11(ptr) FunctionParameter 299 16: Label 300 21(ret): 20(ptr) Variable Function 301 28: 27(ptr) AccessChain 26 23 302 29: 10(fvec4) Load 28 303 30: 10(fvec4) Load 14(input) 304 34: 27(ptr) AccessChain 33 23 305 35: 10(fvec4) Load 34 306 36: 10(fvec4) FAdd 30 35 307 40: 27(ptr) AccessChain 39 23 308 41: 10(fvec4) Load 40 309 42: 10(fvec4) FAdd 36 41 310 46: 27(ptr) AccessChain 45 23 311 47: 10(fvec4) Load 46 312 48: 10(fvec4) FAdd 42 47 313 53: 27(ptr) AccessChain 52 23 314 54: 10(fvec4) Load 53 315 55: 10(fvec4) FAdd 48 54 316 56: 6(float) FunctionCall 8(foo() 317 57: 10(fvec4) VectorTimesScalar 55 56 318 58: 10(fvec4) FAdd 29 57 319 59: 11(ptr) AccessChain 21(ret) 23 320 Store 59 58 321 60: 12(id) Load 21(ret) 322 ReturnValue 60 323 FunctionEnd 324