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.
110 lines
5.4 KiB
Plaintext
Executable File
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
|