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
d91e0360
Unverified
Commit
d91e0360
authored
Apr 13, 2018
by
John Kessenich
Committed by
GitHub
Apr 13, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1351 from danginsburg/issue_1350
Fix issue #1350 - set the node type to match the atomic TIntermAggreg…
parents
0f8d43e5
5a69b675
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
18 deletions
+19
-18
hlsl.intrinsics.comp.out
Test/baseResults/hlsl.intrinsics.comp.out
+0
-0
hlsl.structbuffer.atomics.frag.out
Test/baseResults/hlsl.structbuffer.atomics.frag.out
+18
-18
hlslParseHelper.cpp
hlsl/hlslParseHelper.cpp
+1
-0
No files found.
Test/baseResults/hlsl.intrinsics.comp.out
View file @
d91e0360
This diff is collapsed.
Click to expand it.
Test/baseResults/hlsl.structbuffer.atomics.frag.out
View file @
d91e0360
...
@@ -6,7 +6,7 @@ gl_FragCoord origin is upper left
...
@@ -6,7 +6,7 @@ gl_FragCoord origin is upper left
0:5 Function Parameters:
0:5 Function Parameters:
0:5 'pos' ( in uint)
0:5 'pos' ( in uint)
0:? Sequence
0:? Sequence
0:8 AtomicAdd ( temp
void
)
0:8 AtomicAdd ( temp
uint
)
0:8 indirect index (layout( row_major std430) buffer uint)
0:8 indirect index (layout( row_major std430) buffer uint)
0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:8 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:8 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
...
@@ -34,7 +34,7 @@ gl_FragCoord origin is upper left
...
@@ -34,7 +34,7 @@ gl_FragCoord origin is upper left
0:9 2 (const int)
0:9 2 (const int)
0:9 Constant:
0:9 Constant:
0:9 1 (const int)
0:9 1 (const int)
0:10 AtomicAnd ( temp
void
)
0:10 AtomicAnd ( temp
uint
)
0:10 indirect index (layout( row_major std430) buffer uint)
0:10 indirect index (layout( row_major std430) buffer uint)
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
...
@@ -95,7 +95,7 @@ gl_FragCoord origin is upper left
...
@@ -95,7 +95,7 @@ gl_FragCoord origin is upper left
0:14 2 (const int)
0:14 2 (const int)
0:14 Constant:
0:14 Constant:
0:14 1 (const int)
0:14 1 (const int)
0:15 AtomicMax ( temp
void
)
0:15 AtomicMax ( temp
uint
)
0:15 indirect index (layout( row_major std430) buffer uint)
0:15 indirect index (layout( row_major std430) buffer uint)
0:15 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:15 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:15 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:15 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
...
@@ -123,7 +123,7 @@ gl_FragCoord origin is upper left
...
@@ -123,7 +123,7 @@ gl_FragCoord origin is upper left
0:16 2 (const int)
0:16 2 (const int)
0:16 Constant:
0:16 Constant:
0:16 1 (const int)
0:16 1 (const int)
0:17 AtomicMin ( temp
void
)
0:17 AtomicMin ( temp
uint
)
0:17 indirect index (layout( row_major std430) buffer uint)
0:17 indirect index (layout( row_major std430) buffer uint)
0:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
...
@@ -151,7 +151,7 @@ gl_FragCoord origin is upper left
...
@@ -151,7 +151,7 @@ gl_FragCoord origin is upper left
0:18 2 (const int)
0:18 2 (const int)
0:18 Constant:
0:18 Constant:
0:18 1 (const int)
0:18 1 (const int)
0:19 AtomicOr ( temp
void
)
0:19 AtomicOr ( temp
uint
)
0:19 indirect index (layout( row_major std430) buffer uint)
0:19 indirect index (layout( row_major std430) buffer uint)
0:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
...
@@ -179,7 +179,7 @@ gl_FragCoord origin is upper left
...
@@ -179,7 +179,7 @@ gl_FragCoord origin is upper left
0:20 2 (const int)
0:20 2 (const int)
0:20 Constant:
0:20 Constant:
0:20 1 (const int)
0:20 1 (const int)
0:21 AtomicXor ( temp
void
)
0:21 AtomicXor ( temp
uint
)
0:21 indirect index (layout( row_major std430) buffer uint)
0:21 indirect index (layout( row_major std430) buffer uint)
0:21 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:21 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:21 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:21 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
...
@@ -245,7 +245,7 @@ gl_FragCoord origin is upper left
...
@@ -245,7 +245,7 @@ gl_FragCoord origin is upper left
0:5 Function Parameters:
0:5 Function Parameters:
0:5 'pos' ( in uint)
0:5 'pos' ( in uint)
0:? Sequence
0:? Sequence
0:8 AtomicAdd ( temp
void
)
0:8 AtomicAdd ( temp
uint
)
0:8 indirect index (layout( row_major std430) buffer uint)
0:8 indirect index (layout( row_major std430) buffer uint)
0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:8 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:8 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
...
@@ -273,7 +273,7 @@ gl_FragCoord origin is upper left
...
@@ -273,7 +273,7 @@ gl_FragCoord origin is upper left
0:9 2 (const int)
0:9 2 (const int)
0:9 Constant:
0:9 Constant:
0:9 1 (const int)
0:9 1 (const int)
0:10 AtomicAnd ( temp
void
)
0:10 AtomicAnd ( temp
uint
)
0:10 indirect index (layout( row_major std430) buffer uint)
0:10 indirect index (layout( row_major std430) buffer uint)
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
...
@@ -334,7 +334,7 @@ gl_FragCoord origin is upper left
...
@@ -334,7 +334,7 @@ gl_FragCoord origin is upper left
0:14 2 (const int)
0:14 2 (const int)
0:14 Constant:
0:14 Constant:
0:14 1 (const int)
0:14 1 (const int)
0:15 AtomicMax ( temp
void
)
0:15 AtomicMax ( temp
uint
)
0:15 indirect index (layout( row_major std430) buffer uint)
0:15 indirect index (layout( row_major std430) buffer uint)
0:15 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:15 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:15 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:15 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
...
@@ -362,7 +362,7 @@ gl_FragCoord origin is upper left
...
@@ -362,7 +362,7 @@ gl_FragCoord origin is upper left
0:16 2 (const int)
0:16 2 (const int)
0:16 Constant:
0:16 Constant:
0:16 1 (const int)
0:16 1 (const int)
0:17 AtomicMin ( temp
void
)
0:17 AtomicMin ( temp
uint
)
0:17 indirect index (layout( row_major std430) buffer uint)
0:17 indirect index (layout( row_major std430) buffer uint)
0:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
...
@@ -390,7 +390,7 @@ gl_FragCoord origin is upper left
...
@@ -390,7 +390,7 @@ gl_FragCoord origin is upper left
0:18 2 (const int)
0:18 2 (const int)
0:18 Constant:
0:18 Constant:
0:18 1 (const int)
0:18 1 (const int)
0:19 AtomicOr ( temp
void
)
0:19 AtomicOr ( temp
uint
)
0:19 indirect index (layout( row_major std430) buffer uint)
0:19 indirect index (layout( row_major std430) buffer uint)
0:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
...
@@ -418,7 +418,7 @@ gl_FragCoord origin is upper left
...
@@ -418,7 +418,7 @@ gl_FragCoord origin is upper left
0:20 2 (const int)
0:20 2 (const int)
0:20 Constant:
0:20 Constant:
0:20 1 (const int)
0:20 1 (const int)
0:21 AtomicXor ( temp
void
)
0:21 AtomicXor ( temp
uint
)
0:21 indirect index (layout( row_major std430) buffer uint)
0:21 indirect index (layout( row_major std430) buffer uint)
0:21 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:21 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
0:21 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:21 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
...
@@ -542,14 +542,14 @@ gl_FragCoord origin is upper left
...
@@ -542,14 +542,14 @@ gl_FragCoord origin is upper left
29(u): 7(ptr) Variable Function
29(u): 7(ptr) Variable Function
22: 18(int) ShiftRightArithmetic 20 21
22: 18(int) ShiftRightArithmetic 20 21
24: 23(ptr) AccessChain 17(sbuf) 19 22
24: 23(ptr) AccessChain 17(sbuf) 19 22
28:
2
AtomicIAdd 24 26 27 25
28:
6(int)
AtomicIAdd 24 26 27 25
30: 18(int) ShiftRightArithmetic 20 21
30: 18(int) ShiftRightArithmetic 20 21
31: 23(ptr) AccessChain 17(sbuf) 19 30
31: 23(ptr) AccessChain 17(sbuf) 19 30
32: 6(int) AtomicIAdd 31 26 27 25
32: 6(int) AtomicIAdd 31 26 27 25
Store 29(u) 32
Store 29(u) 32
33: 18(int) ShiftRightArithmetic 20 21
33: 18(int) ShiftRightArithmetic 20 21
34: 23(ptr) AccessChain 17(sbuf) 19 33
34: 23(ptr) AccessChain 17(sbuf) 19 33
35:
2
AtomicAnd 34 26 27 25
35:
6(int)
AtomicAnd 34 26 27 25
36: 18(int) ShiftRightArithmetic 20 21
36: 18(int) ShiftRightArithmetic 20 21
37: 23(ptr) AccessChain 17(sbuf) 19 36
37: 23(ptr) AccessChain 17(sbuf) 19 36
38: 6(int) AtomicAnd 37 26 27 25
38: 6(int) AtomicAnd 37 26 27 25
...
@@ -565,28 +565,28 @@ gl_FragCoord origin is upper left
...
@@ -565,28 +565,28 @@ gl_FragCoord origin is upper left
Store 29(u) 45
Store 29(u) 45
46: 18(int) ShiftRightArithmetic 20 21
46: 18(int) ShiftRightArithmetic 20 21
47: 23(ptr) AccessChain 17(sbuf) 19 46
47: 23(ptr) AccessChain 17(sbuf) 19 46
48:
2 AtomicS
Max 47 26 27 25
48:
6(int) AtomicU
Max 47 26 27 25
49: 18(int) ShiftRightArithmetic 20 21
49: 18(int) ShiftRightArithmetic 20 21
50: 23(ptr) AccessChain 17(sbuf) 19 49
50: 23(ptr) AccessChain 17(sbuf) 19 49
51: 6(int) AtomicUMax 50 26 27 25
51: 6(int) AtomicUMax 50 26 27 25
Store 29(u) 51
Store 29(u) 51
52: 18(int) ShiftRightArithmetic 20 21
52: 18(int) ShiftRightArithmetic 20 21
53: 23(ptr) AccessChain 17(sbuf) 19 52
53: 23(ptr) AccessChain 17(sbuf) 19 52
54:
2 AtomicS
Min 53 26 27 25
54:
6(int) AtomicU
Min 53 26 27 25
55: 18(int) ShiftRightArithmetic 20 21
55: 18(int) ShiftRightArithmetic 20 21
56: 23(ptr) AccessChain 17(sbuf) 19 55
56: 23(ptr) AccessChain 17(sbuf) 19 55
57: 6(int) AtomicUMin 56 26 27 25
57: 6(int) AtomicUMin 56 26 27 25
Store 29(u) 57
Store 29(u) 57
58: 18(int) ShiftRightArithmetic 20 21
58: 18(int) ShiftRightArithmetic 20 21
59: 23(ptr) AccessChain 17(sbuf) 19 58
59: 23(ptr) AccessChain 17(sbuf) 19 58
60:
2
AtomicOr 59 26 27 25
60:
6(int)
AtomicOr 59 26 27 25
61: 18(int) ShiftRightArithmetic 20 21
61: 18(int) ShiftRightArithmetic 20 21
62: 23(ptr) AccessChain 17(sbuf) 19 61
62: 23(ptr) AccessChain 17(sbuf) 19 61
63: 6(int) AtomicOr 62 26 27 25
63: 6(int) AtomicOr 62 26 27 25
Store 29(u) 63
Store 29(u) 63
64: 18(int) ShiftRightArithmetic 20 21
64: 18(int) ShiftRightArithmetic 20 21
65: 23(ptr) AccessChain 17(sbuf) 19 64
65: 23(ptr) AccessChain 17(sbuf) 19 64
66:
2
AtomicXor 65 26 27 25
66:
6(int)
AtomicXor 65 26 27 25
67: 18(int) ShiftRightArithmetic 20 21
67: 18(int) ShiftRightArithmetic 20 21
68: 23(ptr) AccessChain 17(sbuf) 19 67
68: 23(ptr) AccessChain 17(sbuf) 19 67
69: 6(int) AtomicXor 68 26 27 25
69: 6(int) AtomicXor 68 26 27 25
...
...
hlsl/hlslParseHelper.cpp
View file @
d91e0360
...
@@ -4815,6 +4815,7 @@ void HlslParseContext::decomposeIntrinsic(const TSourceLoc& loc, TIntermTyped*&
...
@@ -4815,6 +4815,7 @@ void HlslParseContext::decomposeIntrinsic(const TSourceLoc& loc, TIntermTyped*&
}
else
{
}
else
{
// Set the matching operator. Since output is absent, this is all we need to do.
// Set the matching operator. Since output is absent, this is all we need to do.
node
->
getAsAggregate
()
->
setOperator
(
atomicOp
);
node
->
getAsAggregate
()
->
setOperator
(
atomicOp
);
node
->
setType
(
atomic
->
getType
());
}
}
}
}
...
...
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