SPV: Change barrier emission to conform to Khronos decisions.

The memory model group agreed to these definitions for how
to map GLSL barrier, memoryBarrier, etc. With HLSL following suit.
This commit is contained in:
John Kessenich
2017-12-11 04:02:24 -07:00
parent 070aaeafcd
commit 8297936dd6
19 changed files with 600 additions and 520 deletions

View File

@@ -854,8 +854,8 @@ triangle order = ccw
Name 105 "@entryPointOutput"
Name 107 "param"
Name 109 "param"
Name 119 "@patchConstantResult"
Name 120 "param"
Name 120 "@patchConstantResult"
Name 121 "param"
Name 126 "@patchConstantOutput.EdgeTessFactor"
Name 139 "@patchConstantOutput.InsideTessFactor"
Name 143 "HSTrianglePatchConstant"
@@ -947,9 +947,9 @@ triangle order = ccw
104: TypePointer Output 103
105(@entryPointOutput): 104(ptr) Variable Output
112: TypePointer Output 21(HSOutput)
115: TypeBool
123: 9(int) Constant 4
124: TypeArray 6(float) 123
114: 9(int) Constant 4
116: TypeBool
124: TypeArray 6(float) 114
125: TypePointer Output 124
126(@patchConstantOutput.EdgeTessFactor): 125(ptr) Variable Output
129: TypePointer Output 6(float)
@@ -971,8 +971,8 @@ triangle order = ccw
99(id): 20(ptr) Variable Function
107(param): 12(ptr) Variable Function
109(param): 20(ptr) Variable Function
119(@patchConstantResult): 55(ptr) Variable Function
120(param): 12(ptr) Variable Function
120(@patchConstantResult): 55(ptr) Variable Function
121(param): 12(ptr) Variable Function
98: 11 Load 97(patch)
Store 95(patch) 98
102: 9(int) Load 101(id)
@@ -985,38 +985,38 @@ triangle order = ccw
111:21(HSOutput) FunctionCall 25(@HSMain(struct-HSInput-vf3-vf31[3];u1;) 107(param) 109(param)
113: 112(ptr) AccessChain 105(@entryPointOutput) 106
Store 113 111
ControlBarrier 68 63 58
114: 9(int) Load 101(id)
116: 115(bool) IEqual 114 57
SelectionMerge 118 None
BranchConditional 116 117 118
117: Label
121: 11 Load 95(patch)
Store 120(param) 121
122:15(HSTrianglePatchConstant) FunctionCall 18(HSPatchConstant(struct-HSInput-vf3-vf31[3];) 120(param)
Store 119(@patchConstantResult) 122
127: 50(ptr) AccessChain 119(@patchConstantResult) 57 57
ControlBarrier 68 114 58
115: 9(int) Load 101(id)
117: 116(bool) IEqual 115 57
SelectionMerge 119 None
BranchConditional 117 118 119
118: Label
122: 11 Load 95(patch)
Store 121(param) 122
123:15(HSTrianglePatchConstant) FunctionCall 18(HSPatchConstant(struct-HSInput-vf3-vf31[3];) 121(param)
Store 120(@patchConstantResult) 123
127: 50(ptr) AccessChain 120(@patchConstantResult) 57 57
128: 6(float) Load 127
130: 129(ptr) AccessChain 126(@patchConstantOutput.EdgeTessFactor) 57
Store 130 128
131: 50(ptr) AccessChain 119(@patchConstantResult) 57 62
131: 50(ptr) AccessChain 120(@patchConstantResult) 57 62
132: 6(float) Load 131
133: 129(ptr) AccessChain 126(@patchConstantOutput.EdgeTessFactor) 62
Store 133 132
134: 50(ptr) AccessChain 119(@patchConstantResult) 57 67
134: 50(ptr) AccessChain 120(@patchConstantResult) 57 67
135: 6(float) Load 134
136: 129(ptr) AccessChain 126(@patchConstantOutput.EdgeTessFactor) 67
Store 136 135
140: 50(ptr) AccessChain 119(@patchConstantResult) 62
140: 50(ptr) AccessChain 120(@patchConstantResult) 62
141: 6(float) Load 140
142: 129(ptr) AccessChain 139(@patchConstantOutput.InsideTessFactor) 57
Store 142 141
147: 146(ptr) AccessChain 119(@patchConstantResult) 67
147: 146(ptr) AccessChain 120(@patchConstantResult) 67
148: 14 Load 147
150: 149(ptr) AccessChain 145(@patchConstantOutput) 57
Store 150 148
Branch 118
118: Label
Branch 119
119: Label
Return
FunctionEnd
18(HSPatchConstant(struct-HSInput-vf3-vf31[3];):15(HSTrianglePatchConstant) Function None 16