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
fd1e8a78
Commit
fd1e8a78
authored
Dec 29, 2017
by
John Kessenich
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
HLSL: Fix 1201: Accept 'layout' as an identifier.
parent
046bae0b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
114 additions
and
85 deletions
+114
-85
hlsl.layout.frag.out
Test/baseResults/hlsl.layout.frag.out
+111
-84
hlsl.layout.frag
Test/hlsl.layout.frag
+2
-1
hlslGrammar.cpp
hlsl/hlslGrammar.cpp
+1
-0
No files found.
Test/baseResults/hlsl.layout.frag.out
View file @
fd1e8a78
...
...
@@ -6,23 +6,33 @@ gl_FragCoord origin is upper left
0:16 Function Parameters:
0:16 'input' ( in 4-component vector of float)
0:? Sequence
0:17 Branch: Return with expression
0:17 add ( temp 4-component vector of float)
0:17 add ( temp 4-component vector of float)
0:17 add ( temp 4-component vector of float)
0:17 'input' ( in 4-component vector of float)
0:17 v1: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
0:17 'anon@0' (layout( set=3 binding=5 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1})
0:17 Constant:
0:17 0 (const uint)
0:17 v5: direct index for structure (layout( row_major std430 offset=0) buffer 4-component vector of float)
0:17 'anon@1' (layout( row_major std430 push_constant) readonly buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5})
0:17 Constant:
0:17 0 (const uint)
0:17 v1PostLayout: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
0:17 'anon@2' (layout( set=4 binding=7 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1PostLayout})
0:17 Constant:
0:17 0 (const uint)
0:17 Sequence
0:17 move second child to first child ( temp 4-component vector of float)
0:17 'layout' ( temp 4-component vector of float)
0:17 Constant:
0:17 2.000000
0:17 2.000000
0:17 2.000000
0:17 2.000000
0:18 Branch: Return with expression
0:18 add ( temp 4-component vector of float)
0:18 add ( temp 4-component vector of float)
0:18 add ( temp 4-component vector of float)
0:18 'input' ( in 4-component vector of float)
0:18 v1: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
0:18 'anon@0' (layout( set=3 binding=5 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1})
0:18 Constant:
0:18 0 (const uint)
0:18 v5: direct index for structure (layout( row_major std430 offset=0) buffer 4-component vector of float)
0:18 'anon@1' (layout( row_major std430 push_constant) readonly buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5})
0:18 Constant:
0:18 0 (const uint)
0:18 component-wise multiply ( temp 4-component vector of float)
0:18 v1PostLayout: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
0:18 'anon@2' (layout( set=4 binding=7 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1PostLayout})
0:18 Constant:
0:18 0 (const uint)
0:18 'layout' ( temp 4-component vector of float)
0:? Linker Objects
0:? 'anon@0' (layout( set=3 binding=5 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1})
0:? 'anon@1' (layout( row_major std430 push_constant) readonly buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5})
...
...
@@ -42,23 +52,33 @@ gl_FragCoord origin is upper left
0:16 Function Parameters:
0:16 'input' ( in 4-component vector of float)
0:? Sequence
0:17 Branch: Return with expression
0:17 add ( temp 4-component vector of float)
0:17 add ( temp 4-component vector of float)
0:17 add ( temp 4-component vector of float)
0:17 'input' ( in 4-component vector of float)
0:17 v1: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
0:17 'anon@0' (layout( set=3 binding=5 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1})
0:17 Constant:
0:17 0 (const uint)
0:17 v5: direct index for structure (layout( row_major std430 offset=0) buffer 4-component vector of float)
0:17 'anon@1' (layout( row_major std430 push_constant) readonly buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5})
0:17 Constant:
0:17 0 (const uint)
0:17 v1PostLayout: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
0:17 'anon@2' (layout( set=4 binding=7 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1PostLayout})
0:17 Constant:
0:17 0 (const uint)
0:17 Sequence
0:17 move second child to first child ( temp 4-component vector of float)
0:17 'layout' ( temp 4-component vector of float)
0:17 Constant:
0:17 2.000000
0:17 2.000000
0:17 2.000000
0:17 2.000000
0:18 Branch: Return with expression
0:18 add ( temp 4-component vector of float)
0:18 add ( temp 4-component vector of float)
0:18 add ( temp 4-component vector of float)
0:18 'input' ( in 4-component vector of float)
0:18 v1: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
0:18 'anon@0' (layout( set=3 binding=5 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1})
0:18 Constant:
0:18 0 (const uint)
0:18 v5: direct index for structure (layout( row_major std430 offset=0) buffer 4-component vector of float)
0:18 'anon@1' (layout( row_major std430 push_constant) readonly buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5})
0:18 Constant:
0:18 0 (const uint)
0:18 component-wise multiply ( temp 4-component vector of float)
0:18 v1PostLayout: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float)
0:18 'anon@2' (layout( set=4 binding=7 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1PostLayout})
0:18 Constant:
0:18 0 (const uint)
0:18 'layout' ( temp 4-component vector of float)
0:? Linker Objects
0:? 'anon@0' (layout( set=3 binding=5 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1})
0:? 'anon@1' (layout( row_major std430 push_constant) readonly buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5})
...
...
@@ -68,7 +88,7 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80003
// Id's are bound by
39
// Id's are bound by
44
Capability Shader
1: ExtInstImport "GLSL.std.450"
...
...
@@ -79,50 +99,53 @@ gl_FragCoord origin is upper left
Name 4 "main"
Name 11 "PixelShaderFunction(vf4;"
Name 10 "input"
Name 14 "tbufName"
MemberName 14(tbufName) 0 "v1"
Name 16 ""
Name 23 "tbufName2"
MemberName 23(tbufName2) 0 "v5"
Name 25 ""
Name 30 "tbufName2"
MemberName 30(tbufName2) 0 "v1PostLayout"
Name 32 ""
Name 38 "specConst"
MemberDecorate 14(tbufName) 0 NonWritable
MemberDecorate 14(tbufName) 0 Offset 16
Decorate 14(tbufName) BufferBlock
Decorate 16 DescriptorSet 3
Decorate 16 Binding 5
MemberDecorate 23(tbufName2) 0 NonWritable
MemberDecorate 23(tbufName2) 0 Offset 0
Decorate 23(tbufName2) BufferBlock
MemberDecorate 30(tbufName2) 0 NonWritable
MemberDecorate 30(tbufName2) 0 Offset 16
Decorate 30(tbufName2) BufferBlock
Decorate 32 DescriptorSet 4
Decorate 32 Binding 7
Decorate 38(specConst) SpecId 17
Name 13 "layout"
Name 17 "tbufName"
MemberName 17(tbufName) 0 "v1"
Name 19 ""
Name 26 "tbufName2"
MemberName 26(tbufName2) 0 "v5"
Name 28 ""
Name 33 "tbufName2"
MemberName 33(tbufName2) 0 "v1PostLayout"
Name 35 ""
Name 43 "specConst"
MemberDecorate 17(tbufName) 0 NonWritable
MemberDecorate 17(tbufName) 0 Offset 16
Decorate 17(tbufName) BufferBlock
Decorate 19 DescriptorSet 3
Decorate 19 Binding 5
MemberDecorate 26(tbufName2) 0 NonWritable
MemberDecorate 26(tbufName2) 0 Offset 0
Decorate 26(tbufName2) BufferBlock
MemberDecorate 33(tbufName2) 0 NonWritable
MemberDecorate 33(tbufName2) 0 Offset 16
Decorate 33(tbufName2) BufferBlock
Decorate 35 DescriptorSet 4
Decorate 35 Binding 7
Decorate 43(specConst) SpecId 17
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr)
14(tbufName): TypeStruct 7(fvec4)
15: TypePointer Uniform 14(tbufName)
16: 15(ptr) Variable Uniform
17: TypeInt 32 1
18: 17(int) Constant 0
19: TypePointer Uniform 7(fvec4)
23(tbufName2): TypeStruct 7(fvec4)
24: TypePointer PushConstant 23(tbufName2)
25: 24(ptr) Variable PushConstant
26: TypePointer PushConstant 7(fvec4)
30(tbufName2): TypeStruct 7(fvec4)
31: TypePointer Uniform 30(tbufName2)
32: 31(ptr) Variable Uniform
38(specConst): 17(int) SpecConstant 10
14: 6(float) Constant 1073741824
15: 7(fvec4) ConstantComposite 14 14 14 14
17(tbufName): TypeStruct 7(fvec4)
18: TypePointer Uniform 17(tbufName)
19: 18(ptr) Variable Uniform
20: TypeInt 32 1
21: 20(int) Constant 0
22: TypePointer Uniform 7(fvec4)
26(tbufName2): TypeStruct 7(fvec4)
27: TypePointer PushConstant 26(tbufName2)
28: 27(ptr) Variable PushConstant
29: TypePointer PushConstant 7(fvec4)
33(tbufName2): TypeStruct 7(fvec4)
34: TypePointer Uniform 33(tbufName2)
35: 34(ptr) Variable Uniform
43(specConst): 20(int) SpecConstant 10
4(main): 2 Function None 3
5: Label
Return
...
...
@@ -130,15 +153,19 @@ gl_FragCoord origin is upper left
11(PixelShaderFunction(vf4;): 7(fvec4) Function None 9
10(input): 8(ptr) FunctionParameter
12: Label
13: 7(fvec4) Load 10(input)
20: 19(ptr) AccessChain 16 18
21: 7(fvec4) Load 20
22: 7(fvec4) FAdd 13 21
27: 26(ptr) AccessChain 25 18
28: 7(fvec4) Load 27
29: 7(fvec4) FAdd 22 28
33: 19(ptr) AccessChain 32 18
34: 7(fvec4) Load 33
35: 7(fvec4) FAdd 29 34
ReturnValue 35
13(layout): 8(ptr) Variable Function
Store 13(layout) 15
16: 7(fvec4) Load 10(input)
23: 22(ptr) AccessChain 19 21
24: 7(fvec4) Load 23
25: 7(fvec4) FAdd 16 24
30: 29(ptr) AccessChain 28 21
31: 7(fvec4) Load 30
32: 7(fvec4) FAdd 25 31
36: 22(ptr) AccessChain 35 21
37: 7(fvec4) Load 36
38: 7(fvec4) Load 13(layout)
39: 7(fvec4) FMul 37 38
40: 7(fvec4) FAdd 32 39
ReturnValue 40
FunctionEnd
Test/hlsl.layout.frag
View file @
fd1e8a78
...
...
@@ -14,5 +14,6 @@ tbuffer tbufName2 : layout(set=4,binding=7) {
float4
PixelShaderFunction
(
float4
input
)
:
COLOR0
{
return
input
+
v1
+
v5
+
v1PostLayout
;
float4
layout
=
2
.
0
;
return
input
+
v1
+
v5
+
v1PostLayout
*
layout
;
}
hlsl/hlslGrammar.cpp
View file @
fd1e8a78
...
...
@@ -4077,6 +4077,7 @@ const char* HlslGrammar::getTypeString(EHlslTokenClass tokenClass) const
case
EHTokMin16int
:
return
"min16int"
;
case
EHTokMin12int
:
return
"min12int"
;
case
EHTokConstantBuffer
:
return
"ConstantBuffer"
;
case
EHTokLayout
:
return
"layout"
;
default
:
return
nullptr
;
}
...
...
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