Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
glslang
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
glslang
Commits
823fc656
Commit
823fc656
authored
May 19, 2016
by
John Kessenich
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
SPV: Don't emit memory barrier for ESSL barrier(), but still do for GLSL barrier().
Addresses issue #205. Current open Khronos bug for finalizing this.
parent
eb6d9507
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
105 additions
and
106 deletions
+105
-106
GlslangToSpv.cpp
SPIRV/GlslangToSpv.cpp
+2
-1
spv.310.comp.out
Test/baseResults/spv.310.comp.out
+103
-105
No files found.
SPIRV/GlslangToSpv.cpp
View file @
823fc656
...
...
@@ -3881,7 +3881,8 @@ spv::Id TGlslangToSpvTraverser::createNoArgOperation(glslang::TOperator op)
builder
.
createNoResultOp
(
spv
::
OpEndPrimitive
);
return
0
;
case
glslang
:
:
EOpBarrier
:
builder
.
createMemoryBarrier
(
spv
::
ScopeDevice
,
spv
::
MemorySemanticsAllMemory
);
if
(
glslangIntermediate
->
getProfile
()
!=
EEsProfile
)
builder
.
createMemoryBarrier
(
spv
::
ScopeDevice
,
spv
::
MemorySemanticsAllMemory
);
builder
.
createControlBarrier
(
spv
::
ScopeDevice
,
spv
::
ScopeDevice
,
spv
::
MemorySemanticsMaskNone
);
return
0
;
case
glslang
:
:
EOpMemoryBarrier
:
...
...
Test/baseResults/spv.310.comp.out
View file @
823fc656
...
...
@@ -7,123 +7,121 @@ Linked compute stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 6
7
// Id's are bound by 6
6
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main" 5
3
EntryPoint GLCompute 4 "main" 5
2
ExecutionMode 4 LocalSize 16 32 4
Source ESSL 310
Name 4 "main"
Name 1
3
"outb"
MemberName 1
3
(outb) 0 "f"
MemberName 1
3
(outb) 1 "g"
MemberName 1
3
(outb) 2 "h"
MemberName 1
3
(outb) 3 "uns"
Name 1
5
"outbname"
Name 1
9
"s"
Name 2
4
"outbna"
MemberName 2
4
(outbna) 0 "k"
MemberName 2
4
(outbna) 1 "na"
Name 2
6
"outbnamena"
Name 4
2
"i"
Name 4
8
"outs"
MemberName 4
8
(outs) 0 "s"
MemberName 4
8
(outs) 1 "va"
Name
50
"outnames"
Name 5
3
"gl_LocalInvocationID"
Decorate 1
2
ArrayStride 16
MemberDecorate 1
3
(outb) 0 Offset 0
MemberDecorate 1
3
(outb) 1 Offset 4
MemberDecorate 1
3
(outb) 2 Offset 8
MemberDecorate 1
3
(outb) 3 Offset 16
Decorate 1
3
(outb) BufferBlock
Decorate 1
5
(outbname) DescriptorSet 0
MemberDecorate 2
4
(outbna) 0 Offset 0
MemberDecorate 2
4
(outbna) 1 Offset 16
Decorate 2
4
(outbna) BufferBlock
Decorate 2
6
(outbnamena) DescriptorSet 0
Decorate 4
7
ArrayStride 16
MemberDecorate 4
8
(outs) 0 Offset 0
MemberDecorate 4
8
(outs) 1 Offset 16
Decorate 4
8
(outs) BufferBlock
Decorate
50
(outnames) DescriptorSet 0
Decorate 5
3
(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 6
6
BuiltIn WorkgroupSize
Name 1
2
"outb"
MemberName 1
2
(outb) 0 "f"
MemberName 1
2
(outb) 1 "g"
MemberName 1
2
(outb) 2 "h"
MemberName 1
2
(outb) 3 "uns"
Name 1
4
"outbname"
Name 1
8
"s"
Name 2
3
"outbna"
MemberName 2
3
(outbna) 0 "k"
MemberName 2
3
(outbna) 1 "na"
Name 2
5
"outbnamena"
Name 4
1
"i"
Name 4
7
"outs"
MemberName 4
7
(outs) 0 "s"
MemberName 4
7
(outs) 1 "va"
Name
49
"outnames"
Name 5
2
"gl_LocalInvocationID"
Decorate 1
1
ArrayStride 16
MemberDecorate 1
2
(outb) 0 Offset 0
MemberDecorate 1
2
(outb) 1 Offset 4
MemberDecorate 1
2
(outb) 2 Offset 8
MemberDecorate 1
2
(outb) 3 Offset 16
Decorate 1
2
(outb) BufferBlock
Decorate 1
4
(outbname) DescriptorSet 0
MemberDecorate 2
3
(outbna) 0 Offset 0
MemberDecorate 2
3
(outbna) 1 Offset 16
Decorate 2
3
(outbna) BufferBlock
Decorate 2
5
(outbnamena) DescriptorSet 0
Decorate 4
6
ArrayStride 16
MemberDecorate 4
7
(outs) 0 Offset 0
MemberDecorate 4
7
(outs) 1 Offset 16
Decorate 4
7
(outs) BufferBlock
Decorate
49
(outnames) DescriptorSet 0
Decorate 5
2
(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 6
5
BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: 6(int) Constant 1
8: 6(int) Constant 4062
9: 6(int) Constant 0
10: TypeFloat 32
11: TypeVector 10(float) 3
12: TypeRuntimeArray 11(fvec3)
13(outb): TypeStruct 10(float) 10(float) 10(float) 12
14: TypePointer Uniform 13(outb)
15(outbname): 14(ptr) Variable Uniform
16: TypeInt 32 1
17: 16(int) Constant 0
18: TypePointer Workgroup 10(float)
19(s): 18(ptr) Variable Workgroup
21: TypePointer Uniform 10(float)
23: TypeVector 10(float) 4
24(outbna): TypeStruct 16(int) 23(fvec4)
25: TypePointer Uniform 24(outbna)
26(outbnamena): 25(ptr) Variable Uniform
27: 16(int) Constant 1
30: TypePointer Uniform 23(fvec4)
32: 16(int) Constant 3
33: 16(int) Constant 18
36: 16(int) Constant 17
37: 10(float) Constant 1077936128
38: 11(fvec3) ConstantComposite 37 37 37
39: TypePointer Uniform 11(fvec3)
41: TypePointer Workgroup 16(int)
42(i): 41(ptr) Variable Workgroup
47: TypeRuntimeArray 23(fvec4)
48(outs): TypeStruct 16(int) 47
49: TypePointer Uniform 48(outs)
50(outnames): 49(ptr) Variable Uniform
51: TypeVector 6(int) 3
52: TypePointer Input 51(ivec3)
53(gl_LocalInvocationID): 52(ptr) Variable Input
54: TypePointer Input 6(int)
61: TypePointer Uniform 16(int)
63: 6(int) Constant 16
64: 6(int) Constant 32
65: 6(int) Constant 4
66: 51(ivec3) ConstantComposite 63 64 65
8: 6(int) Constant 0
9: TypeFloat 32
10: TypeVector 9(float) 3
11: TypeRuntimeArray 10(fvec3)
12(outb): TypeStruct 9(float) 9(float) 9(float) 11
13: TypePointer Uniform 12(outb)
14(outbname): 13(ptr) Variable Uniform
15: TypeInt 32 1
16: 15(int) Constant 0
17: TypePointer Workgroup 9(float)
18(s): 17(ptr) Variable Workgroup
20: TypePointer Uniform 9(float)
22: TypeVector 9(float) 4
23(outbna): TypeStruct 15(int) 22(fvec4)
24: TypePointer Uniform 23(outbna)
25(outbnamena): 24(ptr) Variable Uniform
26: 15(int) Constant 1
29: TypePointer Uniform 22(fvec4)
31: 15(int) Constant 3
32: 15(int) Constant 18
35: 15(int) Constant 17
36: 9(float) Constant 1077936128
37: 10(fvec3) ConstantComposite 36 36 36
38: TypePointer Uniform 10(fvec3)
40: TypePointer Workgroup 15(int)
41(i): 40(ptr) Variable Workgroup
46: TypeRuntimeArray 22(fvec4)
47(outs): TypeStruct 15(int) 46
48: TypePointer Uniform 47(outs)
49(outnames): 48(ptr) Variable Uniform
50: TypeVector 6(int) 3
51: TypePointer Input 50(ivec3)
52(gl_LocalInvocationID): 51(ptr) Variable Input
53: TypePointer Input 6(int)
60: TypePointer Uniform 15(int)
62: 6(int) Constant 16
63: 6(int) Constant 32
64: 6(int) Constant 4
65: 50(ivec3) ConstantComposite 62 63 64
4(main): 2 Function None 3
5: Label
MemoryBarrier 7 8
ControlBarrier 7 7 9
20: 10(float) Load 19(s)
22: 21(ptr) AccessChain 15(outbname) 17
Store 22 20
28: 10(float) Load 19(s)
29: 23(fvec4) CompositeConstruct 28 28 28 28
31: 30(ptr) AccessChain 26(outbnamena) 27
Store 31 29
34: 21(ptr) AccessChain 15(outbname) 32 33 9
35: 10(float) Load 34
Store 19(s) 35
40: 39(ptr) AccessChain 15(outbname) 32 36
Store 40 38
43: 16(int) Load 42(i)
44: 10(float) Load 19(s)
45: 11(fvec3) CompositeConstruct 44 44 44
46: 39(ptr) AccessChain 15(outbname) 32 43
Store 46 45
55: 54(ptr) AccessChain 53(gl_LocalInvocationID) 9
56: 6(int) Load 55
57: 10(float) Load 19(s)
58: 23(fvec4) CompositeConstruct 57 57 57 57
59: 30(ptr) AccessChain 50(outnames) 27 56
Store 59 58
60: 16(int) ArrayLength 15(outbname) 3
62: 61(ptr) AccessChain 50(outnames) 17
Store 62 60
ControlBarrier 7 7 8
19: 9(float) Load 18(s)
21: 20(ptr) AccessChain 14(outbname) 16
Store 21 19
27: 9(float) Load 18(s)
28: 22(fvec4) CompositeConstruct 27 27 27 27
30: 29(ptr) AccessChain 25(outbnamena) 26
Store 30 28
33: 20(ptr) AccessChain 14(outbname) 31 32 8
34: 9(float) Load 33
Store 18(s) 34
39: 38(ptr) AccessChain 14(outbname) 31 35
Store 39 37
42: 15(int) Load 41(i)
43: 9(float) Load 18(s)
44: 10(fvec3) CompositeConstruct 43 43 43
45: 38(ptr) AccessChain 14(outbname) 31 42
Store 45 44
54: 53(ptr) AccessChain 52(gl_LocalInvocationID) 8
55: 6(int) Load 54
56: 9(float) Load 18(s)
57: 22(fvec4) CompositeConstruct 56 56 56 56
58: 29(ptr) AccessChain 49(outnames) 26 55
Store 58 57
59: 15(int) ArrayLength 14(outbname) 3
61: 60(ptr) AccessChain 49(outnames) 16
Store 61 59
Return
FunctionEnd
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment