glslang/Test/baseResults/hlsl.getdimensions.dx10.vert.out
steve-lunarg 132d331870 HLSL: struct splitting: assignments of hierarchical split types
This commit adds support for copying nested hierarchical types of split
types.  E.g, a struct of a struct containing both user and builtin interstage
IO variables.

When copying split types, if any subtree does NOT contain builtin interstage
IO, we can copy the whole subtree with one assignment, which saves a bunch
of AST verbosity for memberwise copies of that subtree.
2016-12-26 20:17:13 -07:00

183 lines
8.0 KiB
Plaintext

hlsl.getdimensions.dx10.vert
Shader version: 450
0:? Sequence
0:11 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos})
0:11 Function Parameters:
0:? Sequence
0:21 Sequence
0:21 move second child to first child (temp uint)
0:21 'sizeQueryTemp' (temp uint)
0:21 textureSize (temp uint)
0:21 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:21 move second child to first child (temp uint)
0:21 'WidthU' (temp uint)
0:21 'sizeQueryTemp' (temp uint)
0:22 Sequence
0:22 move second child to first child (temp uint)
0:22 'sizeQueryTemp' (temp uint)
0:22 textureSize (temp uint)
0:22 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:22 Constant:
0:22 6 (const uint)
0:22 move second child to first child (temp uint)
0:22 'WidthU' (temp uint)
0:22 'sizeQueryTemp' (temp uint)
0:22 move second child to first child (temp uint)
0:22 'NumberOfLevelsU' (temp uint)
0:22 textureQueryLevels (temp uint)
0:22 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:24 move second child to first child (temp 4-component vector of float)
0:24 Pos: direct index for structure (temp 4-component vector of float)
0:24 'vsout' (temp structure{temp 4-component vector of float Pos})
0:24 Constant:
0:24 0 (const int)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:26 Sequence
0:26 Sequence
0:26 move second child to first child (temp 4-component vector of float)
0:? 'Pos' (out 4-component vector of float Position)
0:26 Pos: direct index for structure (temp 4-component vector of float)
0:26 'vsout' (temp structure{temp 4-component vector of float Pos})
0:26 Constant:
0:26 0 (const int)
0:26 Branch: Return
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'Pos' (out 4-component vector of float Position)
Linked vertex stage:
Shader version: 450
0:? Sequence
0:11 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos})
0:11 Function Parameters:
0:? Sequence
0:21 Sequence
0:21 move second child to first child (temp uint)
0:21 'sizeQueryTemp' (temp uint)
0:21 textureSize (temp uint)
0:21 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:21 move second child to first child (temp uint)
0:21 'WidthU' (temp uint)
0:21 'sizeQueryTemp' (temp uint)
0:22 Sequence
0:22 move second child to first child (temp uint)
0:22 'sizeQueryTemp' (temp uint)
0:22 textureSize (temp uint)
0:22 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:22 Constant:
0:22 6 (const uint)
0:22 move second child to first child (temp uint)
0:22 'WidthU' (temp uint)
0:22 'sizeQueryTemp' (temp uint)
0:22 move second child to first child (temp uint)
0:22 'NumberOfLevelsU' (temp uint)
0:22 textureQueryLevels (temp uint)
0:22 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:24 move second child to first child (temp 4-component vector of float)
0:24 Pos: direct index for structure (temp 4-component vector of float)
0:24 'vsout' (temp structure{temp 4-component vector of float Pos})
0:24 Constant:
0:24 0 (const int)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:26 Sequence
0:26 Sequence
0:26 move second child to first child (temp 4-component vector of float)
0:? 'Pos' (out 4-component vector of float Position)
0:26 Pos: direct index for structure (temp 4-component vector of float)
0:26 'vsout' (temp structure{temp 4-component vector of float Pos})
0:26 Constant:
0:26 0 (const int)
0:26 Branch: Return
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'Pos' (out 4-component vector of float Position)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 43
Capability Shader
Capability Sampled1D
Capability ImageQuery
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 36
Name 4 "main"
Name 8 "sizeQueryTemp"
Name 12 "g_tTex1df4"
Name 16 "WidthU"
Name 18 "sizeQueryTemp"
Name 23 "NumberOfLevelsU"
Name 27 "VS_OUTPUT"
MemberName 27(VS_OUTPUT) 0 "Pos"
Name 29 "vsout"
Name 36 "Pos"
Name 42 "g_sSamp"
Decorate 12(g_tTex1df4) DescriptorSet 0
Decorate 12(g_tTex1df4) Binding 0
Decorate 36(Pos) BuiltIn Position
Decorate 42(g_sSamp) DescriptorSet 0
Decorate 42(g_sSamp) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypePointer Function 6(int)
9: TypeFloat 32
10: TypeImage 9(float) 1D sampled format:Unknown
11: TypePointer UniformConstant 10
12(g_tTex1df4): 11(ptr) Variable UniformConstant
14: TypeInt 32 1
20: 6(int) Constant 6
26: TypeVector 9(float) 4
27(VS_OUTPUT): TypeStruct 26(fvec4)
28: TypePointer Function 27(VS_OUTPUT)
30: 14(int) Constant 0
31: 9(float) Constant 0
32: 26(fvec4) ConstantComposite 31 31 31 31
33: TypePointer Function 26(fvec4)
35: TypePointer Output 26(fvec4)
36(Pos): 35(ptr) Variable Output
40: TypeSampler
41: TypePointer UniformConstant 40
42(g_sSamp): 41(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
8(sizeQueryTemp): 7(ptr) Variable Function
16(WidthU): 7(ptr) Variable Function
18(sizeQueryTemp): 7(ptr) Variable Function
23(NumberOfLevelsU): 7(ptr) Variable Function
29(vsout): 28(ptr) Variable Function
13: 10 Load 12(g_tTex1df4)
15: 14(int) ImageQuerySize 13
Store 8(sizeQueryTemp) 15
17: 6(int) Load 8(sizeQueryTemp)
Store 16(WidthU) 17
19: 10 Load 12(g_tTex1df4)
21: 14(int) ImageQuerySizeLod 19 20
Store 18(sizeQueryTemp) 21
22: 6(int) Load 18(sizeQueryTemp)
Store 16(WidthU) 22
24: 10 Load 12(g_tTex1df4)
25: 14(int) ImageQueryLevels 24
Store 23(NumberOfLevelsU) 25
34: 33(ptr) AccessChain 29(vsout) 30
Store 34 32
37: 33(ptr) AccessChain 29(vsout) 30
38: 26(fvec4) Load 37
Store 36(Pos) 38
Return
FunctionEnd