HLSL: Add back in the [subcomponent] part of a 'register' decl.

This commit is contained in:
John Kessenich
2016-07-30 10:29:54 -06:00
parent dd50d025d6
commit b38f071605
6 changed files with 96 additions and 55 deletions

View File

@@ -1,32 +1,35 @@
hlsl.struct.frag
WARNING: 0:26: 'register' : ignoring shader_profile
WARNING: 0:27: 'register' : ignoring shader_profile
WARNING: 0:30: 'register' : ignoring shader_profile
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:40 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:31 Function Parameters:
0:31 'input' (in 4-component vector of float)
0:43 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:34 Function Parameters:
0:34 'input' (in 4-component vector of float)
0:? Sequence
0:36 Compare Equal (temp bool)
0:36 's3' (temp structure{temp 3-component vector of bool b3})
0:36 's3' (temp structure{temp 3-component vector of bool b3})
0:37 move second child to first child (temp 4-component vector of float)
0:37 i: direct index for structure (temp 4-component vector of float)
0:37 's2' (global structure{temp 4-component vector of float i})
0:37 Constant:
0:37 0 (const int)
0:37 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float FragCoord)
0:37 's4' (global structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float FragCoord ff4})
0:37 Constant:
0:37 7 (const int)
0:39 Branch: Return with expression
0:39 'input' (in 4-component vector of float)
0:39 Compare Equal (temp bool)
0:39 's3' (temp structure{temp 3-component vector of bool b3})
0:39 's3' (temp structure{temp 3-component vector of bool b3})
0:40 move second child to first child (temp 4-component vector of float)
0:40 i: direct index for structure (temp 4-component vector of float)
0:40 's2' (global structure{temp 4-component vector of float i})
0:40 Constant:
0:40 0 (const int)
0:40 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float FragCoord)
0:40 's4' (global structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float FragCoord ff4})
0:40 Constant:
0:40 7 (const int)
0:42 Branch: Return with expression
0:42 'input' (in 4-component vector of float)
0:? Linker Objects
0:? 's1' (global structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d})
0:? 's2' (global structure{temp 4-component vector of float i})
0:? 's4' (global structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float FragCoord ff4})
0:? 'ff5' (layout(binding=5 offset=20 ) global 3-component vector of float)
0:? 'ff6' (layout(binding=8 offset=36 ) global 3-component vector of float)
Linked fragment stage:
@@ -35,32 +38,34 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:40 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:31 Function Parameters:
0:31 'input' (in 4-component vector of float)
0:43 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:34 Function Parameters:
0:34 'input' (in 4-component vector of float)
0:? Sequence
0:36 Compare Equal (temp bool)
0:36 's3' (temp structure{temp 3-component vector of bool b3})
0:36 's3' (temp structure{temp 3-component vector of bool b3})
0:37 move second child to first child (temp 4-component vector of float)
0:37 i: direct index for structure (temp 4-component vector of float)
0:37 's2' (global structure{temp 4-component vector of float i})
0:37 Constant:
0:37 0 (const int)
0:37 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float FragCoord)
0:37 's4' (global structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float FragCoord ff4})
0:37 Constant:
0:37 7 (const int)
0:39 Branch: Return with expression
0:39 'input' (in 4-component vector of float)
0:39 Compare Equal (temp bool)
0:39 's3' (temp structure{temp 3-component vector of bool b3})
0:39 's3' (temp structure{temp 3-component vector of bool b3})
0:40 move second child to first child (temp 4-component vector of float)
0:40 i: direct index for structure (temp 4-component vector of float)
0:40 's2' (global structure{temp 4-component vector of float i})
0:40 Constant:
0:40 0 (const int)
0:40 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float FragCoord)
0:40 's4' (global structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float FragCoord ff4})
0:40 Constant:
0:40 7 (const int)
0:42 Branch: Return with expression
0:42 'input' (in 4-component vector of float)
0:? Linker Objects
0:? 's1' (global structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d})
0:? 's2' (global structure{temp 4-component vector of float i})
0:? 's4' (global structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float FragCoord ff4})
0:? 'ff5' (layout(binding=5 offset=20 ) global 3-component vector of float)
0:? 'ff6' (layout(binding=8 offset=36 ) global 3-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 40
// Id's are bound by 44
Capability Shader
1: ExtInstImport "GLSL.std.450"
@@ -92,8 +97,14 @@ gl_FragCoord origin is upper left
MemberName 37(myS) 2 "a"
MemberName 37(myS) 3 "d"
Name 39 "s1"
Name 42 "ff5"
Name 43 "ff6"
MemberDecorate 25 4 BuiltIn FrontFacing
MemberDecorate 25 7 BuiltIn FragCoord
Decorate 42(ff5) Offset 20
Decorate 42(ff5) Binding 5
Decorate 43(ff6) Offset 36
Decorate 43(ff6) Binding 8
2: TypeVoid
3: TypeFunction 2
6: TypeBool
@@ -118,6 +129,10 @@ gl_FragCoord origin is upper left
37(myS): TypeStruct 6(bool) 6(bool) 18(fvec4) 18(fvec4)
38: TypePointer Private 37(myS)
39(s1): 38(ptr) Variable Private
40: TypeVector 17(float) 3
41: TypePointer Private 40(fvec3)
42(ff5): 41(ptr) Variable Private
43(ff6): 41(ptr) Variable Private
4(PixelShaderFunction): 2 Function None 3
5: Label
10(s3): 9(ptr) Variable Function