HLSL: Flatten structs for all non-arrayed I/O interfaces.
This commit is contained in:
@@ -149,17 +149,14 @@ Shader version: 500
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:29 move second child to first child ( temp 2-component vector of float)
|
||||
0:29 texCoord: direct index for structure ( temp 2-component vector of float)
|
||||
0:29 '@entryPointOutput' (layout( location=0) out structure{ temp 2-component vector of float texCoord})
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:? '@entryPointOutput.texCoord' (layout( location=0) out 2-component vector of float)
|
||||
0:29 texCoord: direct index for structure ( temp 2-component vector of float)
|
||||
0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord})
|
||||
0:29 Constant:
|
||||
0:29 1 (const int)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput.position' ( out 4-component vector of float Position)
|
||||
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 2-component vector of float texCoord})
|
||||
0:? '@entryPointOutput.texCoord' (layout( location=0) out 2-component vector of float)
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
@@ -315,26 +312,23 @@ Shader version: 500
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:29 move second child to first child ( temp 2-component vector of float)
|
||||
0:29 texCoord: direct index for structure ( temp 2-component vector of float)
|
||||
0:29 '@entryPointOutput' (layout( location=0) out structure{ temp 2-component vector of float texCoord})
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:? '@entryPointOutput.texCoord' (layout( location=0) out 2-component vector of float)
|
||||
0:29 texCoord: direct index for structure ( temp 2-component vector of float)
|
||||
0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float position, temp 2-component vector of float texCoord})
|
||||
0:29 Constant:
|
||||
0:29 1 (const int)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput.position' ( out 4-component vector of float Position)
|
||||
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 2-component vector of float texCoord})
|
||||
0:? '@entryPointOutput.texCoord' (layout( location=0) out 2-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 123
|
||||
// Id's are bound by 120
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 108 116
|
||||
EntryPoint Vertex 4 "main" 108 115
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 9 "VertexOut"
|
||||
@@ -360,11 +354,9 @@ Shader version: 500
|
||||
Name 98 "v5"
|
||||
Name 105 "flattenTemp"
|
||||
Name 108 "@entryPointOutput.position"
|
||||
Name 114 "VertexOut"
|
||||
MemberName 114(VertexOut) 0 "texCoord"
|
||||
Name 116 "@entryPointOutput"
|
||||
Name 115 "@entryPointOutput.texCoord"
|
||||
Decorate 108(@entryPointOutput.position) BuiltIn Position
|
||||
Decorate 116(@entryPointOutput) Location 0
|
||||
Decorate 115(@entryPointOutput.texCoord) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@@ -395,12 +387,10 @@ Shader version: 500
|
||||
109: TypeInt 32 1
|
||||
110: 109(int) Constant 0
|
||||
111: TypePointer Function 7(fvec4)
|
||||
114(VertexOut): TypeStruct 8(fvec2)
|
||||
115: TypePointer Output 114(VertexOut)
|
||||
116(@entryPointOutput): 115(ptr) Variable Output
|
||||
117: 109(int) Constant 1
|
||||
118: TypePointer Function 8(fvec2)
|
||||
121: TypePointer Output 8(fvec2)
|
||||
114: TypePointer Output 8(fvec2)
|
||||
115(@entryPointOutput.texCoord): 114(ptr) Variable Output
|
||||
116: 109(int) Constant 1
|
||||
117: TypePointer Function 8(fvec2)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
105(flattenTemp): 87(ptr) Variable Function
|
||||
@@ -409,10 +399,9 @@ Shader version: 500
|
||||
112: 111(ptr) AccessChain 105(flattenTemp) 110
|
||||
113: 7(fvec4) Load 112
|
||||
Store 108(@entryPointOutput.position) 113
|
||||
119: 118(ptr) AccessChain 105(flattenTemp) 117
|
||||
120: 8(fvec2) Load 119
|
||||
122: 121(ptr) AccessChain 116(@entryPointOutput) 110
|
||||
Store 122 120
|
||||
118: 117(ptr) AccessChain 105(flattenTemp) 116
|
||||
119: 8(fvec2) Load 118
|
||||
Store 115(@entryPointOutput.texCoord) 119
|
||||
Return
|
||||
FunctionEnd
|
||||
11(r0():9(VertexOut) Function None 10
|
||||
|
||||
Reference in New Issue
Block a user