
Full vector and fully specified vector swizzle stores are not affected by this change, only partial swizzles ie swizzles with fewer components than the vector being stored to. Previously the vector being stored to loaded and any components not specified in the swizzle were used to create a full store to the vector. While this change generates more SPIR-V instructions, it is necessary for correctness. Fixes #2518.
91 lines
4.3 KiB
Plaintext
91 lines
4.3 KiB
Plaintext
remap.uniformarray.none.frag
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000a
|
|
// Id's are bound by 60
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 14 25 43 54
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 140
|
|
Name 4 "main"
|
|
Name 9 "texColor"
|
|
Name 14 "color"
|
|
Name 25 "inColor"
|
|
Name 43 "alpha"
|
|
Name 54 "gl_FragColor"
|
|
Name 59 "texSampler2D"
|
|
Decorate 14(color) Location 1
|
|
Decorate 25(inColor) Location 0
|
|
Decorate 43(alpha) Location 7
|
|
Decorate 54(gl_FragColor) Location 0
|
|
Decorate 59(texSampler2D) DescriptorSet 0
|
|
Decorate 59(texSampler2D) Binding 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypePointer Function 7(fvec4)
|
|
10: TypeInt 32 0
|
|
11: 10(int) Constant 6
|
|
12: TypeArray 7(fvec4) 11
|
|
13: TypePointer Input 12
|
|
14(color): 13(ptr) Variable Input
|
|
15: TypeInt 32 1
|
|
16: 15(int) Constant 1
|
|
17: TypePointer Input 7(fvec4)
|
|
23: TypeVector 6(float) 3
|
|
24: TypePointer Input 23(fvec3)
|
|
25(inColor): 24(ptr) Variable Input
|
|
30: 10(int) Constant 0
|
|
31: TypePointer Function 6(float)
|
|
34: 10(int) Constant 1
|
|
37: 10(int) Constant 2
|
|
40: 10(int) Constant 16
|
|
41: TypeArray 6(float) 40
|
|
42: TypePointer Input 41
|
|
43(alpha): 42(ptr) Variable Input
|
|
44: 15(int) Constant 12
|
|
45: TypePointer Input 6(float)
|
|
48: 10(int) Constant 3
|
|
53: TypePointer Output 7(fvec4)
|
|
54(gl_FragColor): 53(ptr) Variable Output
|
|
56: TypeImage 6(float) 2D sampled format:Unknown
|
|
57: TypeSampledImage 56
|
|
58: TypePointer UniformConstant 57
|
|
59(texSampler2D): 58(ptr) Variable UniformConstant
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
9(texColor): 8(ptr) Variable Function
|
|
18: 17(ptr) AccessChain 14(color) 16
|
|
19: 7(fvec4) Load 18
|
|
20: 17(ptr) AccessChain 14(color) 16
|
|
21: 7(fvec4) Load 20
|
|
22: 7(fvec4) FAdd 19 21
|
|
Store 9(texColor) 22
|
|
26: 23(fvec3) Load 25(inColor)
|
|
27: 7(fvec4) Load 9(texColor)
|
|
28: 23(fvec3) VectorShuffle 27 27 0 1 2
|
|
29: 23(fvec3) FAdd 28 26
|
|
32: 31(ptr) AccessChain 9(texColor) 30
|
|
33: 6(float) CompositeExtract 29 0
|
|
Store 32 33
|
|
35: 31(ptr) AccessChain 9(texColor) 34
|
|
36: 6(float) CompositeExtract 29 1
|
|
Store 35 36
|
|
38: 31(ptr) AccessChain 9(texColor) 37
|
|
39: 6(float) CompositeExtract 29 2
|
|
Store 38 39
|
|
46: 45(ptr) AccessChain 43(alpha) 44
|
|
47: 6(float) Load 46
|
|
49: 31(ptr) AccessChain 9(texColor) 48
|
|
50: 6(float) Load 49
|
|
51: 6(float) FAdd 50 47
|
|
52: 31(ptr) AccessChain 9(texColor) 48
|
|
Store 52 51
|
|
55: 7(fvec4) Load 9(texColor)
|
|
Store 54(gl_FragColor) 55
|
|
Return
|
|
FunctionEnd
|