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:
@@ -221,12 +221,12 @@ vertex spacing = equal_spacing
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80002
|
||||
// Id's are bound by 92
|
||||
// Id's are bound by 91
|
||||
|
||||
Capability Tessellation
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint TessellationControl 4 "main" 42 46 48 64 66 74
|
||||
EntryPoint TessellationControl 4 "main" 42 46 48 63 65 73
|
||||
ExecutionMode 4 OutputVertices 4
|
||||
ExecutionMode 4 Isolines
|
||||
ExecutionMode 4 SpacingEqual
|
||||
@@ -249,20 +249,20 @@ vertex spacing = equal_spacing
|
||||
Name 46 "@entryPointOutput"
|
||||
Name 48 "InvocationId"
|
||||
Name 50 "param"
|
||||
Name 63 "@patchConstantResult"
|
||||
Name 64 "pid"
|
||||
Name 66 "pos"
|
||||
Name 67 "param"
|
||||
Name 69 "param"
|
||||
Name 74 "@patchConstantOutput.edges"
|
||||
Name 84 "output"
|
||||
Name 62 "@patchConstantResult"
|
||||
Name 63 "pid"
|
||||
Name 65 "pos"
|
||||
Name 66 "param"
|
||||
Name 68 "param"
|
||||
Name 73 "@patchConstantOutput.edges"
|
||||
Name 83 "output"
|
||||
Decorate 42(ip) Location 0
|
||||
Decorate 46(@entryPointOutput) Location 0
|
||||
Decorate 48(InvocationId) BuiltIn InvocationId
|
||||
Decorate 64(pid) BuiltIn PrimitiveId
|
||||
Decorate 66(pos) BuiltIn Position
|
||||
Decorate 74(@patchConstantOutput.edges) Patch
|
||||
Decorate 74(@patchConstantOutput.edges) BuiltIn TessLevelOuter
|
||||
Decorate 63(pid) BuiltIn PrimitiveId
|
||||
Decorate 65(pos) BuiltIn Position
|
||||
Decorate 73(@patchConstantOutput.edges) Patch
|
||||
Decorate 73(@patchConstantOutput.edges) BuiltIn TessLevelOuter
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@@ -293,28 +293,27 @@ vertex spacing = equal_spacing
|
||||
47: TypePointer Input 9(int)
|
||||
48(InvocationId): 47(ptr) Variable Input
|
||||
53: TypePointer Output 13(HS_OUT)
|
||||
55: 9(int) Constant 1
|
||||
56: 9(int) Constant 0
|
||||
58: TypeBool
|
||||
62: TypePointer Function 23(HS_CONSTANT_OUT)
|
||||
64(pid): 47(ptr) Variable Input
|
||||
65: TypePointer Input 19(fvec4)
|
||||
66(pos): 65(ptr) Variable Input
|
||||
72: TypeArray 6(float) 10
|
||||
73: TypePointer Output 72
|
||||
74(@patchConstantOutput.edges): 73(ptr) Variable Output
|
||||
75: TypePointer Function 6(float)
|
||||
78: TypePointer Output 6(float)
|
||||
80: 31(int) Constant 1
|
||||
85: 6(float) Constant 1073741824
|
||||
87: 6(float) Constant 1090519040
|
||||
55: 9(int) Constant 0
|
||||
57: TypeBool
|
||||
61: TypePointer Function 23(HS_CONSTANT_OUT)
|
||||
63(pid): 47(ptr) Variable Input
|
||||
64: TypePointer Input 19(fvec4)
|
||||
65(pos): 64(ptr) Variable Input
|
||||
71: TypeArray 6(float) 10
|
||||
72: TypePointer Output 71
|
||||
73(@patchConstantOutput.edges): 72(ptr) Variable Output
|
||||
74: TypePointer Function 6(float)
|
||||
77: TypePointer Output 6(float)
|
||||
79: 31(int) Constant 1
|
||||
84: 6(float) Constant 1073741824
|
||||
86: 6(float) Constant 1090519040
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
40(ip): 12(ptr) Variable Function
|
||||
50(param): 12(ptr) Variable Function
|
||||
63(@patchConstantResult): 62(ptr) Variable Function
|
||||
67(param): 18(ptr) Variable Function
|
||||
69(param): 20(ptr) Variable Function
|
||||
62(@patchConstantResult): 61(ptr) Variable Function
|
||||
66(param): 18(ptr) Variable Function
|
||||
68(param): 20(ptr) Variable Function
|
||||
43: 11 Load 42(ip)
|
||||
Store 40(ip) 43
|
||||
49: 9(int) Load 48(InvocationId)
|
||||
@@ -323,28 +322,28 @@ vertex spacing = equal_spacing
|
||||
52: 13(HS_OUT) FunctionCall 16(@main(struct-VS_OUT-vf31[4];) 50(param)
|
||||
54: 53(ptr) AccessChain 46(@entryPointOutput) 49
|
||||
Store 54 52
|
||||
ControlBarrier 21 55 56
|
||||
57: 9(int) Load 48(InvocationId)
|
||||
59: 58(bool) IEqual 57 32
|
||||
SelectionMerge 61 None
|
||||
BranchConditional 59 60 61
|
||||
60: Label
|
||||
68: 9(int) Load 64(pid)
|
||||
Store 67(param) 68
|
||||
70: 19(fvec4) Load 66(pos)
|
||||
Store 69(param) 70
|
||||
71:23(HS_CONSTANT_OUT) FunctionCall 27(PCF(u1;vf4;) 67(param) 69(param)
|
||||
Store 63(@patchConstantResult) 71
|
||||
76: 75(ptr) AccessChain 63(@patchConstantResult) 32 32
|
||||
77: 6(float) Load 76
|
||||
79: 78(ptr) AccessChain 74(@patchConstantOutput.edges) 32
|
||||
Store 79 77
|
||||
81: 75(ptr) AccessChain 63(@patchConstantResult) 32 80
|
||||
82: 6(float) Load 81
|
||||
83: 78(ptr) AccessChain 74(@patchConstantOutput.edges) 80
|
||||
Store 83 82
|
||||
Branch 61
|
||||
61: Label
|
||||
ControlBarrier 21 10 55
|
||||
56: 9(int) Load 48(InvocationId)
|
||||
58: 57(bool) IEqual 56 32
|
||||
SelectionMerge 60 None
|
||||
BranchConditional 58 59 60
|
||||
59: Label
|
||||
67: 9(int) Load 63(pid)
|
||||
Store 66(param) 67
|
||||
69: 19(fvec4) Load 65(pos)
|
||||
Store 68(param) 69
|
||||
70:23(HS_CONSTANT_OUT) FunctionCall 27(PCF(u1;vf4;) 66(param) 68(param)
|
||||
Store 62(@patchConstantResult) 70
|
||||
75: 74(ptr) AccessChain 62(@patchConstantResult) 32 32
|
||||
76: 6(float) Load 75
|
||||
78: 77(ptr) AccessChain 73(@patchConstantOutput.edges) 32
|
||||
Store 78 76
|
||||
80: 74(ptr) AccessChain 62(@patchConstantResult) 32 79
|
||||
81: 6(float) Load 80
|
||||
82: 77(ptr) AccessChain 73(@patchConstantOutput.edges) 79
|
||||
Store 82 81
|
||||
Branch 60
|
||||
60: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
16(@main(struct-VS_OUT-vf31[4];): 13(HS_OUT) Function None 14
|
||||
@@ -362,11 +361,11 @@ vertex spacing = equal_spacing
|
||||
25(pid): 18(ptr) FunctionParameter
|
||||
26(pos): 20(ptr) FunctionParameter
|
||||
28: Label
|
||||
84(output): 62(ptr) Variable Function
|
||||
86: 75(ptr) AccessChain 84(output) 32 32
|
||||
Store 86 85
|
||||
88: 75(ptr) AccessChain 84(output) 32 80
|
||||
Store 88 87
|
||||
89:23(HS_CONSTANT_OUT) Load 84(output)
|
||||
ReturnValue 89
|
||||
83(output): 61(ptr) Variable Function
|
||||
85: 74(ptr) AccessChain 83(output) 32 32
|
||||
Store 85 84
|
||||
87: 74(ptr) AccessChain 83(output) 32 79
|
||||
Store 87 86
|
||||
88:23(HS_CONSTANT_OUT) Load 83(output)
|
||||
ReturnValue 88
|
||||
FunctionEnd
|
||||
|
||||
Reference in New Issue
Block a user