glslang/Test/baseResults/spv.double.comp.out
John Kessenich fa668dad99 SPV: Reduce spurious type generation by removing intermediate types in the middle of access chains.
This generally simplifies access chain generation, with far fewer  type conversions.
It is particularly important to future SPIR-V changes where there is less aggregate
type uniqueness due to carrying different layout information with the type.
2015-09-13 14:46:30 -06:00

110 lines
5.4 KiB
Plaintext
Executable File

spv.double.comp
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
Linked compute stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 63
Source GLSL 430
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main"
Name 4 "main"
Name 9 "bufName"
MemberName 9(bufName) 0 "f"
MemberName 9(bufName) 1 "d"
Name 11 "bufInst"
Name 23 "storePos"
Name 27 "gl_GlobalInvocationID"
Name 33 "localCoef"
Name 34 "gl_LocalInvocationID"
Name 50 "aa"
Name 55 "globalCoef"
Name 59 "roll"
Name 62 "destTex"
Decorate 9(bufName) GLSLShared
Decorate 9(bufName) BufferBlock
Decorate 27(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
Decorate 34(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 14 NoStaticUse
Decorate 57 NoStaticUse
Decorate 14 NoStaticUse
Decorate 14 NoStaticUse
Decorate 59(roll) NoStaticUse
Decorate 62(destTex) NoStaticUse
2: TypeVoid
3: TypeFunction 2
7: TypeFloat 32
8: TypeFloat 64
9(bufName): TypeStruct 7(float) 8(float)
10: TypePointer Uniform 9(bufName)
11(bufInst): 10(ptr) Variable Uniform
12: TypeInt 32 1
13: 12(int) Constant 1
14: 8(float) Constant 1413754136 1074340347
15: TypePointer Uniform 8(float)
17: 12(int) Constant 0
18: 7(float) Constant 1095307129
19: TypePointer Uniform 7(float)
21: TypeVector 12(int) 2
22: TypePointer Function 21(ivec2)
24: TypeInt 32 0
25: TypeVector 24(int) 3
26: TypePointer Input 25(ivec3)
27(gl_GlobalInvocationID): 26(ptr) Variable Input
28: TypeVector 24(int) 2
32: TypePointer Function 8(float)
34(gl_LocalInvocationID): 26(ptr) Variable Input
38: 12(int) Constant 8
41: TypeVector 7(float) 2
43: 7(float) Constant 1090519040
48: TypeVector 8(float) 4
49: TypePointer Function 48(fvec4)
51: 8(float) Constant 2576980378 1071225241
52: 8(float) Constant 2576980378 1070176665
53: 8(float) Constant 858993459 1070805811
54: 48(fvec4) ConstantComposite 51 52 53 51
56: 8(float) Constant 0 1072693248
57: 8(float) Constant 3229815407 1074340298
58: TypePointer UniformConstant 8(float)
59(roll): 58(ptr) Variable UniformConstant
60: TypeImage 7(float) 2D nonsampled format:Unknown
61: TypePointer UniformConstant 60
62(destTex): 61(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
23(storePos): 22(ptr) Variable Function
33(localCoef): 32(ptr) Variable Function
50(aa): 49(ptr) Variable Function
55(globalCoef): 32(ptr) Variable Function
16: 15(ptr) AccessChain 11(bufInst) 13
Store 16 14
20: 19(ptr) AccessChain 11(bufInst) 17
Store 20 18
29: 25(ivec3) Load 27(gl_GlobalInvocationID)
30: 28(ivec2) VectorShuffle 29 29 0 1
31: 21(ivec2) Bitcast 30
Store 23(storePos) 31
35: 25(ivec3) Load 34(gl_LocalInvocationID)
36: 28(ivec2) VectorShuffle 35 35 0 1
37: 21(ivec2) Bitcast 36
39: 21(ivec2) CompositeConstruct 38 38
40: 21(ivec2) ISub 37 39
42: 41(fvec2) ConvertSToF 40
44: 41(fvec2) CompositeConstruct 43 43
45: 41(fvec2) FDiv 42 44
46: 7(float) ExtInst 1(GLSL.std.450) 65(Length) 45
47: 8(float) FConvert 46
Store 33(localCoef) 47
Store 50(aa) 54
Store 55(globalCoef) 56
Branch 6
6: Label
Return
FunctionEnd