HLSL: Partially address issue #463: accept GLSL layout(...).
This includes all "per variable" layout qualifiers, but the key ones mattering and tested for now are: set= binding= constant_id= push_constant
This commit is contained in:
112
Test/baseResults/hlsl.layout.frag.out
Executable file
112
Test/baseResults/hlsl.layout.frag.out
Executable file
@@ -0,0 +1,112 @@
|
||||
hlsl.layout.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:15 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:12 Function Parameters:
|
||||
0:12 'input' (in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:13 Branch: Return with expression
|
||||
0:13 add (temp 4-component vector of float)
|
||||
0:13 add (temp 4-component vector of float)
|
||||
0:13 'input' (in 4-component vector of float)
|
||||
0:13 v1: direct index for structure (layout(column_major std430 offset=16 ) buffer 4-component vector of float)
|
||||
0:13 'anon@0' (layout(set=3 binding=5 column_major std430 ) buffer block{layout(column_major std430 offset=16 ) buffer 4-component vector of float v1})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 v5: direct index for structure (layout(column_major std430 offset=0 ) buffer 4-component vector of float)
|
||||
0:13 'anon@1' (layout(column_major std430 push_constant ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float v5})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout(set=3 binding=5 column_major std430 ) buffer block{layout(column_major std430 offset=16 ) buffer 4-component vector of float v1})
|
||||
0:? 'anon@1' (layout(column_major std430 push_constant ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float v5})
|
||||
0:? 'specConst' (specialization-constant const int)
|
||||
0:? 10 (const int)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:15 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:12 Function Parameters:
|
||||
0:12 'input' (in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:13 Branch: Return with expression
|
||||
0:13 add (temp 4-component vector of float)
|
||||
0:13 add (temp 4-component vector of float)
|
||||
0:13 'input' (in 4-component vector of float)
|
||||
0:13 v1: direct index for structure (layout(column_major std430 offset=16 ) buffer 4-component vector of float)
|
||||
0:13 'anon@0' (layout(set=3 binding=5 column_major std430 ) buffer block{layout(column_major std430 offset=16 ) buffer 4-component vector of float v1})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 v5: direct index for structure (layout(column_major std430 offset=0 ) buffer 4-component vector of float)
|
||||
0:13 'anon@1' (layout(column_major std430 push_constant ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float v5})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout(set=3 binding=5 column_major std430 ) buffer block{layout(column_major std430 offset=16 ) buffer 4-component vector of float v1})
|
||||
0:? 'anon@1' (layout(column_major std430 push_constant ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float v5})
|
||||
0:? 'specConst' (specialization-constant const int)
|
||||
0:? 10 (const int)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 33
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main"
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "main"
|
||||
Name 11 "PixelShaderFunction(vf4;"
|
||||
Name 10 "input"
|
||||
Name 14 ""
|
||||
MemberName 14 0 "v1"
|
||||
Name 16 ""
|
||||
Name 23 ""
|
||||
MemberName 23 0 "v5"
|
||||
Name 25 ""
|
||||
MemberDecorate 14 0 Offset 16
|
||||
Decorate 14 BufferBlock
|
||||
Decorate 16 DescriptorSet 3
|
||||
Decorate 16 Binding 5
|
||||
MemberDecorate 23 0 Offset 0
|
||||
Decorate 23 BufferBlock
|
||||
Decorate 32 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: TypeStruct 7(fvec4)
|
||||
15: TypePointer Uniform 14(struct)
|
||||
16: 15(ptr) Variable Uniform
|
||||
17: TypeInt 32 1
|
||||
18: 17(int) Constant 0
|
||||
19: TypePointer Uniform 7(fvec4)
|
||||
23: TypeStruct 7(fvec4)
|
||||
24: TypePointer PushConstant 23(struct)
|
||||
25: 24(ptr) Variable PushConstant
|
||||
26: TypePointer PushConstant 7(fvec4)
|
||||
32: 17(int) SpecConstant 10
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
FunctionEnd
|
||||
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
|
||||
ReturnValue 29
|
||||
FunctionEnd
|
||||
Reference in New Issue
Block a user