Updated glslang.
This commit is contained in:
Родитель
0ce8bd136d
Коммит
03bda78768
|
@ -2,12 +2,12 @@ hlsl.flattenOpaqueInit.vert
|
|||
WARNING: AST will form illegal SPIR-V; need to transform to legalize
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80002
|
||||
// Id's are bound by 125
|
||||
// Id's are bound by 176
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 82
|
||||
EntryPoint Vertex 4 "main" 99
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 17 "FxaaTex"
|
||||
|
@ -15,10 +15,10 @@ WARNING: AST will form illegal SPIR-V; need to transform to legalize
|
|||
MemberName 17(FxaaTex) 1 "tex"
|
||||
Name 38 "g_tInputTexture_sampler"
|
||||
Name 42 "g_tInputTexture"
|
||||
Name 82 "@entryPointOutput"
|
||||
Name 99 "@entryPointOutput"
|
||||
Decorate 38(g_tInputTexture_sampler) DescriptorSet 0
|
||||
Decorate 42(g_tInputTexture) DescriptorSet 0
|
||||
Decorate 82(@entryPointOutput) Location 0
|
||||
Decorate 99(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeSampler
|
||||
|
@ -36,14 +36,23 @@ WARNING: AST will form illegal SPIR-V; need to transform to legalize
|
|||
38(g_tInputTexture_sampler): 37(ptr) Variable UniformConstant
|
||||
41: TypePointer UniformConstant 9
|
||||
42(g_tInputTexture): 41(ptr) Variable UniformConstant
|
||||
81: TypePointer Output 11(fvec4)
|
||||
82(@entryPointOutput): 81(ptr) Variable Output
|
||||
98: TypePointer Output 11(fvec4)
|
||||
99(@entryPointOutput): 98(ptr) Variable Output
|
||||
175: 17(FxaaTex) Undef
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
96: 6 Load 38(g_tInputTexture_sampler)
|
||||
97: 9 Load 42(g_tInputTexture)
|
||||
123: 26 SampledImage 97 96
|
||||
124: 11(fvec4) ImageSampleExplicitLod 123 31 Lod 32
|
||||
Store 82(@entryPointOutput) 124
|
||||
117: 6 Load 38(g_tInputTexture_sampler)
|
||||
118: 9 Load 42(g_tInputTexture)
|
||||
148: 26 SampledImage 118 117
|
||||
149: 11(fvec4) ImageSampleExplicitLod 148 31 Lod 32
|
||||
172: 6 CompositeExtract 175 0
|
||||
174: 9 CompositeExtract 175 1
|
||||
160: 26 SampledImage 174 172
|
||||
161: 11(fvec4) ImageSampleExplicitLod 160 31 Lod 32
|
||||
136: 11(fvec4) FAdd 149 161
|
||||
165: 26 SampledImage 118 117
|
||||
166: 11(fvec4) ImageSampleExplicitLod 165 31 Lod 32
|
||||
143: 11(fvec4) FAdd 136 166
|
||||
Store 99(@entryPointOutput) 143
|
||||
Return
|
||||
FunctionEnd
|
||||
|
|
|
@ -0,0 +1,417 @@
|
|||
hlsl.cbuffer-identifier.vert
|
||||
WARNING: 0:29: '' : mul() matrix size mismatch
|
||||
|
||||
Shader version: 500
|
||||
0:? Sequence
|
||||
0:22 Function Definition: @main(struct-VS_INPUT-vf4-vf31; ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 Function Parameters:
|
||||
0:22 'input' ( in structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:? Sequence
|
||||
0:23 Sequence
|
||||
0:23 move second child to first child ( temp int)
|
||||
0:23 'ConstantBuffer' ( temp int)
|
||||
0:23 Constant:
|
||||
0:23 42 (const int)
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:25 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:25 Constant:
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:26 move second child to first child ( temp 4-component vector of float)
|
||||
0:26 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:26 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:26 Constant:
|
||||
0:26 0 (const int)
|
||||
0:26 matrix-times-vector ( temp 4-component vector of float)
|
||||
0:26 World: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||
0:26 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
|
||||
0:26 Constant:
|
||||
0:26 0 (const uint)
|
||||
0:26 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:26 'input' ( in structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:26 Constant:
|
||||
0:26 0 (const int)
|
||||
0:27 move second child to first child ( temp 4-component vector of float)
|
||||
0:27 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:27 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:27 Constant:
|
||||
0:27 0 (const int)
|
||||
0:27 matrix-times-vector ( temp 4-component vector of float)
|
||||
0:27 View: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||
0:27 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
|
||||
0:27 Constant:
|
||||
0:27 1 (const uint)
|
||||
0:27 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:27 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:27 Constant:
|
||||
0:27 0 (const int)
|
||||
0:28 move second child to first child ( temp 4-component vector of float)
|
||||
0:28 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:28 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:28 Constant:
|
||||
0:28 0 (const int)
|
||||
0:28 matrix-times-vector ( temp 4-component vector of float)
|
||||
0:28 Projection: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||
0:28 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
|
||||
0:28 Constant:
|
||||
0:28 2 (const uint)
|
||||
0:28 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:28 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:28 Constant:
|
||||
0:28 0 (const int)
|
||||
0:29 move second child to first child ( temp 3-component vector of float)
|
||||
0:29 Norm: direct index for structure ( temp 3-component vector of float)
|
||||
0:29 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:29 Constant:
|
||||
0:29 1 (const int)
|
||||
0:29 Construct vec3 ( temp 3-component vector of float)
|
||||
0:29 matrix-times-vector ( temp 4-component vector of float)
|
||||
0:29 Construct mat3x4 ( uniform 3X4 matrix of float)
|
||||
0:29 World: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||
0:29 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
|
||||
0:29 Constant:
|
||||
0:29 0 (const uint)
|
||||
0:29 Norm: direct index for structure ( temp 3-component vector of float)
|
||||
0:29 'input' ( in structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:29 Constant:
|
||||
0:29 1 (const int)
|
||||
0:31 Branch: Return with expression
|
||||
0:31 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 Function Definition: main( ( temp void)
|
||||
0:22 Function Parameters:
|
||||
0:? Sequence
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child ( temp 4-component vector of float)
|
||||
0:22 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:? 'input.Pos' (layout( location=0) in 4-component vector of float)
|
||||
0:22 move second child to first child ( temp 3-component vector of float)
|
||||
0:22 Norm: direct index for structure ( temp 3-component vector of float)
|
||||
0:? 'input' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 Constant:
|
||||
0:22 1 (const int)
|
||||
0:? 'input.Norm' (layout( location=1) in 3-component vector of float)
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 Function Call: @main(struct-VS_INPUT-vf4-vf31; ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:? 'input' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position)
|
||||
0:22 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:22 move second child to first child ( temp 3-component vector of float)
|
||||
0:? '@entryPointOutput.Norm' (layout( location=0) out 3-component vector of float)
|
||||
0:22 Norm: direct index for structure ( temp 3-component vector of float)
|
||||
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 Constant:
|
||||
0:22 1 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
|
||||
0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position)
|
||||
0:? '@entryPointOutput.Norm' (layout( location=0) out 3-component vector of float)
|
||||
0:? 'input.Pos' (layout( location=0) in 4-component vector of float)
|
||||
0:? 'input.Norm' (layout( location=1) in 3-component vector of float)
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Shader version: 500
|
||||
0:? Sequence
|
||||
0:22 Function Definition: @main(struct-VS_INPUT-vf4-vf31; ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 Function Parameters:
|
||||
0:22 'input' ( in structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:? Sequence
|
||||
0:23 Sequence
|
||||
0:23 move second child to first child ( temp int)
|
||||
0:23 'ConstantBuffer' ( temp int)
|
||||
0:23 Constant:
|
||||
0:23 42 (const int)
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:25 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:25 Constant:
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:25 0.000000
|
||||
0:26 move second child to first child ( temp 4-component vector of float)
|
||||
0:26 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:26 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:26 Constant:
|
||||
0:26 0 (const int)
|
||||
0:26 matrix-times-vector ( temp 4-component vector of float)
|
||||
0:26 World: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||
0:26 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
|
||||
0:26 Constant:
|
||||
0:26 0 (const uint)
|
||||
0:26 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:26 'input' ( in structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:26 Constant:
|
||||
0:26 0 (const int)
|
||||
0:27 move second child to first child ( temp 4-component vector of float)
|
||||
0:27 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:27 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:27 Constant:
|
||||
0:27 0 (const int)
|
||||
0:27 matrix-times-vector ( temp 4-component vector of float)
|
||||
0:27 View: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||
0:27 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
|
||||
0:27 Constant:
|
||||
0:27 1 (const uint)
|
||||
0:27 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:27 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:27 Constant:
|
||||
0:27 0 (const int)
|
||||
0:28 move second child to first child ( temp 4-component vector of float)
|
||||
0:28 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:28 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:28 Constant:
|
||||
0:28 0 (const int)
|
||||
0:28 matrix-times-vector ( temp 4-component vector of float)
|
||||
0:28 Projection: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||
0:28 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
|
||||
0:28 Constant:
|
||||
0:28 2 (const uint)
|
||||
0:28 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:28 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:28 Constant:
|
||||
0:28 0 (const int)
|
||||
0:29 move second child to first child ( temp 3-component vector of float)
|
||||
0:29 Norm: direct index for structure ( temp 3-component vector of float)
|
||||
0:29 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:29 Constant:
|
||||
0:29 1 (const int)
|
||||
0:29 Construct vec3 ( temp 3-component vector of float)
|
||||
0:29 matrix-times-vector ( temp 4-component vector of float)
|
||||
0:29 Construct mat3x4 ( uniform 3X4 matrix of float)
|
||||
0:29 World: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||
0:29 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
|
||||
0:29 Constant:
|
||||
0:29 0 (const uint)
|
||||
0:29 Norm: direct index for structure ( temp 3-component vector of float)
|
||||
0:29 'input' ( in structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:29 Constant:
|
||||
0:29 1 (const int)
|
||||
0:31 Branch: Return with expression
|
||||
0:31 'output' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 Function Definition: main( ( temp void)
|
||||
0:22 Function Parameters:
|
||||
0:? Sequence
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child ( temp 4-component vector of float)
|
||||
0:22 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:? 'input.Pos' (layout( location=0) in 4-component vector of float)
|
||||
0:22 move second child to first child ( temp 3-component vector of float)
|
||||
0:22 Norm: direct index for structure ( temp 3-component vector of float)
|
||||
0:? 'input' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 Constant:
|
||||
0:22 1 (const int)
|
||||
0:? 'input.Norm' (layout( location=1) in 3-component vector of float)
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 Function Call: @main(struct-VS_INPUT-vf4-vf31; ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:? 'input' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position)
|
||||
0:22 Pos: direct index for structure ( temp 4-component vector of float)
|
||||
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:22 move second child to first child ( temp 3-component vector of float)
|
||||
0:? '@entryPointOutput.Norm' (layout( location=0) out 3-component vector of float)
|
||||
0:22 Norm: direct index for structure ( temp 3-component vector of float)
|
||||
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||
0:22 Constant:
|
||||
0:22 1 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float World, layout( row_major std140) uniform 4X4 matrix of float View, layout( row_major std140) uniform 4X4 matrix of float Projection})
|
||||
0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position)
|
||||
0:? '@entryPointOutput.Norm' (layout( location=0) out 3-component vector of float)
|
||||
0:? 'input.Pos' (layout( location=0) in 4-component vector of float)
|
||||
0:? 'input.Norm' (layout( location=1) in 3-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80002
|
||||
// Id's are bound by 106
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 87 91 99 103
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 9 "VS_INPUT"
|
||||
MemberName 9(VS_INPUT) 0 "Pos"
|
||||
MemberName 9(VS_INPUT) 1 "Norm"
|
||||
Name 11 "PS_INPUT"
|
||||
MemberName 11(PS_INPUT) 0 "Pos"
|
||||
MemberName 11(PS_INPUT) 1 "Norm"
|
||||
Name 14 "@main(struct-VS_INPUT-vf4-vf31;"
|
||||
Name 13 "input"
|
||||
Name 18 "ConstantBuffer"
|
||||
Name 21 "output"
|
||||
Name 28 "C"
|
||||
MemberName 28(C) 0 "World"
|
||||
MemberName 28(C) 1 "View"
|
||||
MemberName 28(C) 2 "Projection"
|
||||
Name 30 ""
|
||||
Name 85 "input"
|
||||
Name 87 "input.Pos"
|
||||
Name 91 "input.Norm"
|
||||
Name 94 "flattenTemp"
|
||||
Name 95 "param"
|
||||
Name 99 "@entryPointOutput.Pos"
|
||||
Name 103 "@entryPointOutput.Norm"
|
||||
MemberDecorate 28(C) 0 RowMajor
|
||||
MemberDecorate 28(C) 0 Offset 0
|
||||
MemberDecorate 28(C) 0 MatrixStride 16
|
||||
MemberDecorate 28(C) 1 RowMajor
|
||||
MemberDecorate 28(C) 1 Offset 64
|
||||
MemberDecorate 28(C) 1 MatrixStride 16
|
||||
MemberDecorate 28(C) 2 RowMajor
|
||||
MemberDecorate 28(C) 2 Offset 128
|
||||
MemberDecorate 28(C) 2 MatrixStride 16
|
||||
Decorate 28(C) Block
|
||||
Decorate 30 DescriptorSet 0
|
||||
Decorate 30 Binding 0
|
||||
Decorate 87(input.Pos) Location 0
|
||||
Decorate 91(input.Norm) Location 1
|
||||
Decorate 99(@entryPointOutput.Pos) BuiltIn Position
|
||||
Decorate 103(@entryPointOutput.Norm) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypeVector 6(float) 3
|
||||
9(VS_INPUT): TypeStruct 7(fvec4) 8(fvec3)
|
||||
10: TypePointer Function 9(VS_INPUT)
|
||||
11(PS_INPUT): TypeStruct 7(fvec4) 8(fvec3)
|
||||
12: TypeFunction 11(PS_INPUT) 10(ptr)
|
||||
16: TypeInt 32 1
|
||||
17: TypePointer Function 16(int)
|
||||
19: 16(int) Constant 42
|
||||
20: TypePointer Function 11(PS_INPUT)
|
||||
22: 6(float) Constant 0
|
||||
23: 7(fvec4) ConstantComposite 22 22 22 22
|
||||
24: 8(fvec3) ConstantComposite 22 22 22
|
||||
25:11(PS_INPUT) ConstantComposite 23 24
|
||||
26: 16(int) Constant 0
|
||||
27: TypeMatrix 7(fvec4) 4
|
||||
28(C): TypeStruct 27 27 27
|
||||
29: TypePointer Uniform 28(C)
|
||||
30: 29(ptr) Variable Uniform
|
||||
31: TypePointer Uniform 27
|
||||
34: TypePointer Function 7(fvec4)
|
||||
39: 16(int) Constant 1
|
||||
46: 16(int) Constant 2
|
||||
55: TypeMatrix 7(fvec4) 3
|
||||
56: 6(float) Constant 1065353216
|
||||
73: TypePointer Function 8(fvec3)
|
||||
86: TypePointer Input 7(fvec4)
|
||||
87(input.Pos): 86(ptr) Variable Input
|
||||
90: TypePointer Input 8(fvec3)
|
||||
91(input.Norm): 90(ptr) Variable Input
|
||||
98: TypePointer Output 7(fvec4)
|
||||
99(@entryPointOutput.Pos): 98(ptr) Variable Output
|
||||
102: TypePointer Output 8(fvec3)
|
||||
103(@entryPointOutput.Norm): 102(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
85(input): 10(ptr) Variable Function
|
||||
94(flattenTemp): 20(ptr) Variable Function
|
||||
95(param): 10(ptr) Variable Function
|
||||
88: 7(fvec4) Load 87(input.Pos)
|
||||
89: 34(ptr) AccessChain 85(input) 26
|
||||
Store 89 88
|
||||
92: 8(fvec3) Load 91(input.Norm)
|
||||
93: 73(ptr) AccessChain 85(input) 39
|
||||
Store 93 92
|
||||
96: 9(VS_INPUT) Load 85(input)
|
||||
Store 95(param) 96
|
||||
97:11(PS_INPUT) FunctionCall 14(@main(struct-VS_INPUT-vf4-vf31;) 95(param)
|
||||
Store 94(flattenTemp) 97
|
||||
100: 34(ptr) AccessChain 94(flattenTemp) 26
|
||||
101: 7(fvec4) Load 100
|
||||
Store 99(@entryPointOutput.Pos) 101
|
||||
104: 73(ptr) AccessChain 94(flattenTemp) 39
|
||||
105: 8(fvec3) Load 104
|
||||
Store 103(@entryPointOutput.Norm) 105
|
||||
Return
|
||||
FunctionEnd
|
||||
14(@main(struct-VS_INPUT-vf4-vf31;):11(PS_INPUT) Function None 12
|
||||
13(input): 10(ptr) FunctionParameter
|
||||
15: Label
|
||||
18(ConstantBuffer): 17(ptr) Variable Function
|
||||
21(output): 20(ptr) Variable Function
|
||||
Store 18(ConstantBuffer) 19
|
||||
Store 21(output) 25
|
||||
32: 31(ptr) AccessChain 30 26
|
||||
33: 27 Load 32
|
||||
35: 34(ptr) AccessChain 13(input) 26
|
||||
36: 7(fvec4) Load 35
|
||||
37: 7(fvec4) MatrixTimesVector 33 36
|
||||
38: 34(ptr) AccessChain 21(output) 26
|
||||
Store 38 37
|
||||
40: 31(ptr) AccessChain 30 39
|
||||
41: 27 Load 40
|
||||
42: 34(ptr) AccessChain 21(output) 26
|
||||
43: 7(fvec4) Load 42
|
||||
44: 7(fvec4) MatrixTimesVector 41 43
|
||||
45: 34(ptr) AccessChain 21(output) 26
|
||||
Store 45 44
|
||||
47: 31(ptr) AccessChain 30 46
|
||||
48: 27 Load 47
|
||||
49: 34(ptr) AccessChain 21(output) 26
|
||||
50: 7(fvec4) Load 49
|
||||
51: 7(fvec4) MatrixTimesVector 48 50
|
||||
52: 34(ptr) AccessChain 21(output) 26
|
||||
Store 52 51
|
||||
53: 31(ptr) AccessChain 30 26
|
||||
54: 27 Load 53
|
||||
57: 6(float) CompositeExtract 54 0 0
|
||||
58: 6(float) CompositeExtract 54 0 1
|
||||
59: 6(float) CompositeExtract 54 0 2
|
||||
60: 6(float) CompositeExtract 54 0 3
|
||||
61: 6(float) CompositeExtract 54 1 0
|
||||
62: 6(float) CompositeExtract 54 1 1
|
||||
63: 6(float) CompositeExtract 54 1 2
|
||||
64: 6(float) CompositeExtract 54 1 3
|
||||
65: 6(float) CompositeExtract 54 2 0
|
||||
66: 6(float) CompositeExtract 54 2 1
|
||||
67: 6(float) CompositeExtract 54 2 2
|
||||
68: 6(float) CompositeExtract 54 2 3
|
||||
69: 7(fvec4) CompositeConstruct 57 58 59 60
|
||||
70: 7(fvec4) CompositeConstruct 61 62 63 64
|
||||
71: 7(fvec4) CompositeConstruct 65 66 67 68
|
||||
72: 55 CompositeConstruct 69 70 71
|
||||
74: 73(ptr) AccessChain 13(input) 39
|
||||
75: 8(fvec3) Load 74
|
||||
76: 7(fvec4) MatrixTimesVector 72 75
|
||||
77: 6(float) CompositeExtract 76 0
|
||||
78: 6(float) CompositeExtract 76 1
|
||||
79: 6(float) CompositeExtract 76 2
|
||||
80: 8(fvec3) CompositeConstruct 77 78 79
|
||||
81: 73(ptr) AccessChain 21(output) 39
|
||||
Store 81 80
|
||||
82:11(PS_INPUT) Load 21(output)
|
||||
ReturnValue 82
|
||||
FunctionEnd
|
|
@ -49,34 +49,48 @@ Shader version: 500
|
|||
0:19 Constant:
|
||||
0:19 1 (const int)
|
||||
0:20 Sequence
|
||||
0:20 Sequence
|
||||
0:20 move second child to first child ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:20 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:20 Function Call: fillOpaque( ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:20 move second child to first child ( temp sampler)
|
||||
0:? 'tex2.smpl' ( temp sampler)
|
||||
0:20 smpl: direct index for structure ( temp sampler)
|
||||
0:20 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 move second child to first child ( temp texture2D)
|
||||
0:? 'tex2.tex' ( temp texture2D)
|
||||
0:20 tex: direct index for structure ( temp texture2D)
|
||||
0:20 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:20 Constant:
|
||||
0:20 1 (const int)
|
||||
0:20 move second child to first child ( temp 4-component vector of float)
|
||||
0:20 'res' ( temp 4-component vector of float)
|
||||
0:20 Function Call: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float)
|
||||
0:? 'tex1.smpl' ( temp sampler)
|
||||
0:? 'tex1.tex' ( temp texture2D)
|
||||
0:21 Sequence
|
||||
0:21 Sequence
|
||||
0:21 move second child to first child ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:21 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:21 Function Call: fillOpaque( ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:21 move second child to first child ( temp sampler)
|
||||
0:? 'tex2.smpl' ( temp sampler)
|
||||
0:21 smpl: direct index for structure ( temp sampler)
|
||||
0:21 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 move second child to first child ( temp texture2D)
|
||||
0:? 'tex2.tex' ( temp texture2D)
|
||||
0:21 tex: direct index for structure ( temp texture2D)
|
||||
0:21 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:21 Constant:
|
||||
0:21 1 (const int)
|
||||
0:22 add second child into first child ( temp 4-component vector of float)
|
||||
0:22 'res' ( temp 4-component vector of float)
|
||||
0:22 Function Call: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float)
|
||||
0:? 'tex2.smpl' ( temp sampler)
|
||||
0:? 'tex2.tex' ( temp texture2D)
|
||||
0:23 Sequence
|
||||
0:23 Sequence
|
||||
0:23 move second child to first child ( temp sampler)
|
||||
0:? 'tex3.smpl' ( temp sampler)
|
||||
0:? 'tex1.smpl' ( temp sampler)
|
||||
0:21 move second child to first child ( temp texture2D)
|
||||
0:23 move second child to first child ( temp texture2D)
|
||||
0:? 'tex3.tex' ( temp texture2D)
|
||||
0:? 'tex1.tex' ( temp texture2D)
|
||||
0:22 Branch: Return with expression
|
||||
0:22 Function Call: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float)
|
||||
0:24 add second child into first child ( temp 4-component vector of float)
|
||||
0:24 'res' ( temp 4-component vector of float)
|
||||
0:24 Function Call: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float)
|
||||
0:? 'tex3.smpl' ( temp sampler)
|
||||
0:? 'tex3.tex' ( temp texture2D)
|
||||
0:25 Branch: Return with expression
|
||||
0:25 'res' ( temp 4-component vector of float)
|
||||
0:18 Function Definition: main( ( temp void)
|
||||
0:18 Function Parameters:
|
||||
0:? Sequence
|
||||
|
@ -141,34 +155,48 @@ Shader version: 500
|
|||
0:19 Constant:
|
||||
0:19 1 (const int)
|
||||
0:20 Sequence
|
||||
0:20 Sequence
|
||||
0:20 move second child to first child ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:20 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:20 Function Call: fillOpaque( ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:20 move second child to first child ( temp sampler)
|
||||
0:? 'tex2.smpl' ( temp sampler)
|
||||
0:20 smpl: direct index for structure ( temp sampler)
|
||||
0:20 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 move second child to first child ( temp texture2D)
|
||||
0:? 'tex2.tex' ( temp texture2D)
|
||||
0:20 tex: direct index for structure ( temp texture2D)
|
||||
0:20 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:20 Constant:
|
||||
0:20 1 (const int)
|
||||
0:20 move second child to first child ( temp 4-component vector of float)
|
||||
0:20 'res' ( temp 4-component vector of float)
|
||||
0:20 Function Call: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float)
|
||||
0:? 'tex1.smpl' ( temp sampler)
|
||||
0:? 'tex1.tex' ( temp texture2D)
|
||||
0:21 Sequence
|
||||
0:21 Sequence
|
||||
0:21 move second child to first child ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:21 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:21 Function Call: fillOpaque( ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:21 move second child to first child ( temp sampler)
|
||||
0:? 'tex2.smpl' ( temp sampler)
|
||||
0:21 smpl: direct index for structure ( temp sampler)
|
||||
0:21 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 move second child to first child ( temp texture2D)
|
||||
0:? 'tex2.tex' ( temp texture2D)
|
||||
0:21 tex: direct index for structure ( temp texture2D)
|
||||
0:21 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex})
|
||||
0:21 Constant:
|
||||
0:21 1 (const int)
|
||||
0:22 add second child into first child ( temp 4-component vector of float)
|
||||
0:22 'res' ( temp 4-component vector of float)
|
||||
0:22 Function Call: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float)
|
||||
0:? 'tex2.smpl' ( temp sampler)
|
||||
0:? 'tex2.tex' ( temp texture2D)
|
||||
0:23 Sequence
|
||||
0:23 Sequence
|
||||
0:23 move second child to first child ( temp sampler)
|
||||
0:? 'tex3.smpl' ( temp sampler)
|
||||
0:? 'tex1.smpl' ( temp sampler)
|
||||
0:21 move second child to first child ( temp texture2D)
|
||||
0:23 move second child to first child ( temp texture2D)
|
||||
0:? 'tex3.tex' ( temp texture2D)
|
||||
0:? 'tex1.tex' ( temp texture2D)
|
||||
0:22 Branch: Return with expression
|
||||
0:22 Function Call: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float)
|
||||
0:24 add second child into first child ( temp 4-component vector of float)
|
||||
0:24 'res' ( temp 4-component vector of float)
|
||||
0:24 Function Call: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float)
|
||||
0:? 'tex3.smpl' ( temp sampler)
|
||||
0:? 'tex3.tex' ( temp texture2D)
|
||||
0:25 Branch: Return with expression
|
||||
0:25 'res' ( temp 4-component vector of float)
|
||||
0:18 Function Definition: main( ( temp void)
|
||||
0:18 Function Parameters:
|
||||
0:? Sequence
|
||||
|
@ -182,12 +210,12 @@ Shader version: 500
|
|||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80002
|
||||
// Id's are bound by 84
|
||||
// Id's are bound by 101
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 82
|
||||
EntryPoint Vertex 4 "main" 99
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 15 "lookUp(struct-FxaaTex-p1-t211;"
|
||||
|
@ -206,17 +234,22 @@ Shader version: 500
|
|||
Name 49 "flattenTemp"
|
||||
Name 53 "tex1.smpl"
|
||||
Name 58 "tex1.tex"
|
||||
Name 62 "flattenTemp"
|
||||
Name 64 "tex2.smpl"
|
||||
Name 67 "tex2.tex"
|
||||
Name 70 "tex3.smpl"
|
||||
Name 72 "tex3.tex"
|
||||
Name 74 "param"
|
||||
Name 76 "param"
|
||||
Name 82 "@entryPointOutput"
|
||||
Name 63 "res"
|
||||
Name 64 "param"
|
||||
Name 66 "param"
|
||||
Name 69 "flattenTemp"
|
||||
Name 71 "tex2.smpl"
|
||||
Name 74 "tex2.tex"
|
||||
Name 77 "param"
|
||||
Name 79 "param"
|
||||
Name 84 "tex3.smpl"
|
||||
Name 86 "tex3.tex"
|
||||
Name 88 "param"
|
||||
Name 90 "param"
|
||||
Name 99 "@entryPointOutput"
|
||||
Decorate 38(g_tInputTexture_sampler) DescriptorSet 0
|
||||
Decorate 42(g_tInputTexture) DescriptorSet 0
|
||||
Decorate 82(@entryPointOutput) Location 0
|
||||
Decorate 99(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeSampler
|
||||
|
@ -243,12 +276,13 @@ Shader version: 500
|
|||
54: TypeInt 32 1
|
||||
55: 54(int) Constant 0
|
||||
59: 54(int) Constant 1
|
||||
81: TypePointer Output 11(fvec4)
|
||||
82(@entryPointOutput): 81(ptr) Variable Output
|
||||
62: TypePointer Function 11(fvec4)
|
||||
98: TypePointer Output 11(fvec4)
|
||||
99(@entryPointOutput): 98(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
83: 11(fvec4) FunctionCall 22(@main()
|
||||
Store 82(@entryPointOutput) 83
|
||||
100: 11(fvec4) FunctionCall 22(@main()
|
||||
Store 99(@entryPointOutput) 100
|
||||
Return
|
||||
FunctionEnd
|
||||
15(lookUp(struct-FxaaTex-p1-t211;): 11(fvec4) Function None 12
|
||||
|
@ -278,13 +312,18 @@ Shader version: 500
|
|||
49(flattenTemp): 44(ptr) Variable Function
|
||||
53(tex1.smpl): 7(ptr) Variable Function
|
||||
58(tex1.tex): 10(ptr) Variable Function
|
||||
62(flattenTemp): 44(ptr) Variable Function
|
||||
64(tex2.smpl): 7(ptr) Variable Function
|
||||
67(tex2.tex): 10(ptr) Variable Function
|
||||
70(tex3.smpl): 7(ptr) Variable Function
|
||||
72(tex3.tex): 10(ptr) Variable Function
|
||||
74(param): 7(ptr) Variable Function
|
||||
76(param): 10(ptr) Variable Function
|
||||
63(res): 62(ptr) Variable Function
|
||||
64(param): 7(ptr) Variable Function
|
||||
66(param): 10(ptr) Variable Function
|
||||
69(flattenTemp): 44(ptr) Variable Function
|
||||
71(tex2.smpl): 7(ptr) Variable Function
|
||||
74(tex2.tex): 10(ptr) Variable Function
|
||||
77(param): 7(ptr) Variable Function
|
||||
79(param): 10(ptr) Variable Function
|
||||
84(tex3.smpl): 7(ptr) Variable Function
|
||||
86(tex3.tex): 10(ptr) Variable Function
|
||||
88(param): 7(ptr) Variable Function
|
||||
90(param): 10(ptr) Variable Function
|
||||
50: 6 Load 38(g_tInputTexture_sampler)
|
||||
51: 9 Load 42(g_tInputTexture)
|
||||
52: 17(FxaaTex) CompositeConstruct 50 51
|
||||
|
@ -295,22 +334,40 @@ Shader version: 500
|
|||
60: 10(ptr) AccessChain 49(flattenTemp) 59
|
||||
61: 9 Load 60
|
||||
Store 58(tex1.tex) 61
|
||||
63: 17(FxaaTex) FunctionCall 19(fillOpaque()
|
||||
Store 62(flattenTemp) 63
|
||||
65: 7(ptr) AccessChain 62(flattenTemp) 55
|
||||
66: 6 Load 65
|
||||
Store 64(tex2.smpl) 66
|
||||
68: 10(ptr) AccessChain 62(flattenTemp) 59
|
||||
69: 9 Load 68
|
||||
Store 67(tex2.tex) 69
|
||||
71: 6 Load 53(tex1.smpl)
|
||||
Store 70(tex3.smpl) 71
|
||||
73: 9 Load 58(tex1.tex)
|
||||
Store 72(tex3.tex) 73
|
||||
75: 6 Load 70(tex3.smpl)
|
||||
Store 74(param) 75
|
||||
77: 9 Load 72(tex3.tex)
|
||||
Store 76(param) 77
|
||||
78: 11(fvec4) FunctionCall 15(lookUp(struct-FxaaTex-p1-t211;) 74(param) 76(param)
|
||||
ReturnValue 78
|
||||
65: 6 Load 53(tex1.smpl)
|
||||
Store 64(param) 65
|
||||
67: 9 Load 58(tex1.tex)
|
||||
Store 66(param) 67
|
||||
68: 11(fvec4) FunctionCall 15(lookUp(struct-FxaaTex-p1-t211;) 64(param) 66(param)
|
||||
Store 63(res) 68
|
||||
70: 17(FxaaTex) FunctionCall 19(fillOpaque()
|
||||
Store 69(flattenTemp) 70
|
||||
72: 7(ptr) AccessChain 69(flattenTemp) 55
|
||||
73: 6 Load 72
|
||||
Store 71(tex2.smpl) 73
|
||||
75: 10(ptr) AccessChain 69(flattenTemp) 59
|
||||
76: 9 Load 75
|
||||
Store 74(tex2.tex) 76
|
||||
78: 6 Load 71(tex2.smpl)
|
||||
Store 77(param) 78
|
||||
80: 9 Load 74(tex2.tex)
|
||||
Store 79(param) 80
|
||||
81: 11(fvec4) FunctionCall 15(lookUp(struct-FxaaTex-p1-t211;) 77(param) 79(param)
|
||||
82: 11(fvec4) Load 63(res)
|
||||
83: 11(fvec4) FAdd 82 81
|
||||
Store 63(res) 83
|
||||
85: 6 Load 53(tex1.smpl)
|
||||
Store 84(tex3.smpl) 85
|
||||
87: 9 Load 58(tex1.tex)
|
||||
Store 86(tex3.tex) 87
|
||||
89: 6 Load 84(tex3.smpl)
|
||||
Store 88(param) 89
|
||||
91: 9 Load 86(tex3.tex)
|
||||
Store 90(param) 91
|
||||
92: 11(fvec4) FunctionCall 15(lookUp(struct-FxaaTex-p1-t211;) 88(param) 90(param)
|
||||
93: 11(fvec4) Load 63(res)
|
||||
94: 11(fvec4) FAdd 93 92
|
||||
Store 63(res) 94
|
||||
95: 11(fvec4) Load 63(res)
|
||||
ReturnValue 95
|
||||
FunctionEnd
|
||||
|
|
|
@ -0,0 +1,684 @@
|
|||
hlsl.mul-truncate.frag
|
||||
WARNING: 0:24: '' : mul() matrix size mismatch
|
||||
WARNING: 0:25: '' : mul() matrix size mismatch
|
||||
WARNING: 0:28: '' : mul() matrix size mismatch
|
||||
WARNING: 0:29: '' : mul() matrix size mismatch
|
||||
WARNING: 0:32: '' : mul() matrix size mismatch
|
||||
WARNING: 0:33: '' : mul() matrix size mismatch
|
||||
WARNING: 0:34: '' : mul() matrix size mismatch
|
||||
WARNING: 0:35: '' : mul() matrix size mismatch
|
||||
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:18 Function Definition: @main( ( temp 4-component vector of float)
|
||||
0:18 Function Parameters:
|
||||
0:? Sequence
|
||||
0:20 Sequence
|
||||
0:20 move second child to first child ( temp float)
|
||||
0:20 'r00' ( temp float)
|
||||
0:20 dot-product ( temp float)
|
||||
0:20 v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
|
||||
0:20 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:20 Constant:
|
||||
0:20 8 (const uint)
|
||||
0:20 Construct vec2 ( in 2-component vector of float)
|
||||
0:20 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
||||
0:20 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:20 Constant:
|
||||
0:20 7 (const uint)
|
||||
0:21 Sequence
|
||||
0:21 move second child to first child ( temp float)
|
||||
0:21 'r01' ( temp float)
|
||||
0:21 dot-product ( temp float)
|
||||
0:21 Construct vec2 ( in 2-component vector of float)
|
||||
0:21 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||
0:21 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:21 Constant:
|
||||
0:21 6 (const uint)
|
||||
0:21 v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
|
||||
0:21 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:21 Constant:
|
||||
0:21 8 (const uint)
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child ( temp 4-component vector of float)
|
||||
0:24 'r10' ( temp 4-component vector of float)
|
||||
0:24 matrix-times-vector ( temp 4-component vector of float)
|
||||
0:24 Construct mat3x4 ( uniform 3X4 matrix of float)
|
||||
0:24 m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||
0:24 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:24 Constant:
|
||||
0:24 0 (const uint)
|
||||
0:24 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
||||
0:24 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:24 Constant:
|
||||
0:24 7 (const uint)
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child ( temp 4-component vector of float)
|
||||
0:25 'r11' ( temp 4-component vector of float)
|
||||
0:25 matrix-times-vector ( temp 4-component vector of float)
|
||||
0:25 m34: direct index for structure (layout( row_major std140) uniform 3X4 matrix of float)
|
||||
0:25 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:25 Constant:
|
||||
0:25 2 (const uint)
|
||||
0:25 Construct vec3 ( uniform 3-component vector of float)
|
||||
0:25 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||
0:25 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:25 Constant:
|
||||
0:25 6 (const uint)
|
||||
0:28 Sequence
|
||||
0:28 move second child to first child ( temp 4-component vector of float)
|
||||
0:28 'r20' ( temp 4-component vector of float)
|
||||
0:28 vector-times-matrix ( temp 4-component vector of float)
|
||||
0:28 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
||||
0:28 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:28 Constant:
|
||||
0:28 7 (const uint)
|
||||
0:28 Construct mat4x3 ( uniform 4X3 matrix of float)
|
||||
0:28 m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||
0:28 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:28 Constant:
|
||||
0:28 0 (const uint)
|
||||
0:29 Sequence
|
||||
0:29 move second child to first child ( temp 4-component vector of float)
|
||||
0:29 'r21' ( temp 4-component vector of float)
|
||||
0:29 vector-times-matrix ( temp 4-component vector of float)
|
||||
0:29 Construct vec3 ( uniform 3-component vector of float)
|
||||
0:29 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||
0:29 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:29 Constant:
|
||||
0:29 6 (const uint)
|
||||
0:29 m43: direct index for structure (layout( row_major std140) uniform 4X3 matrix of float)
|
||||
0:29 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:29 Constant:
|
||||
0:29 1 (const uint)
|
||||
0:32 Sequence
|
||||
0:32 move second child to first child ( temp 2X3 matrix of float)
|
||||
0:32 'r30' ( temp 2X3 matrix of float)
|
||||
0:32 matrix-multiply ( temp 2X3 matrix of float)
|
||||
0:32 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||
0:32 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:32 Constant:
|
||||
0:32 3 (const uint)
|
||||
0:32 Construct mat2x3 ( uniform 2X3 matrix of float)
|
||||
0:32 m24: direct index for structure (layout( row_major std140) uniform 2X4 matrix of float)
|
||||
0:32 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:32 Constant:
|
||||
0:32 4 (const uint)
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child ( temp 3X4 matrix of float)
|
||||
0:33 'r31' ( temp 3X4 matrix of float)
|
||||
0:33 matrix-multiply ( temp 3X4 matrix of float)
|
||||
0:33 m24: direct index for structure (layout( row_major std140) uniform 2X4 matrix of float)
|
||||
0:33 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:33 Constant:
|
||||
0:33 4 (const uint)
|
||||
0:33 Construct mat3x2 ( uniform 3X2 matrix of float)
|
||||
0:33 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||
0:33 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:33 Constant:
|
||||
0:33 3 (const uint)
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child ( temp 3X2 matrix of float)
|
||||
0:34 'r32' ( temp 3X2 matrix of float)
|
||||
0:34 matrix-multiply ( temp 3X2 matrix of float)
|
||||
0:34 Construct mat3x2 ( uniform 3X2 matrix of float)
|
||||
0:34 m42: direct index for structure (layout( row_major std140) uniform 4X2 matrix of float)
|
||||
0:34 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:34 Constant:
|
||||
0:34 5 (const uint)
|
||||
0:34 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||
0:34 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:34 Constant:
|
||||
0:34 3 (const uint)
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child ( temp 4X3 matrix of float)
|
||||
0:35 'r33' ( temp 4X3 matrix of float)
|
||||
0:35 matrix-multiply ( temp 4X3 matrix of float)
|
||||
0:35 Construct mat2x3 ( uniform 2X3 matrix of float)
|
||||
0:35 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||
0:35 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:35 Constant:
|
||||
0:35 3 (const uint)
|
||||
0:35 m42: direct index for structure (layout( row_major std140) uniform 4X2 matrix of float)
|
||||
0:35 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:35 Constant:
|
||||
0:35 5 (const uint)
|
||||
0:37 Branch: Return with expression
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 'r10' ( temp 4-component vector of float)
|
||||
0:37 'r11' ( temp 4-component vector of float)
|
||||
0:37 'r20' ( temp 4-component vector of float)
|
||||
0:37 'r21' ( temp 4-component vector of float)
|
||||
0:37 'r00' ( temp float)
|
||||
0:37 'r01' ( temp float)
|
||||
0:37 direct index ( temp float)
|
||||
0:37 direct index ( temp 3-component vector of float)
|
||||
0:37 'r30' ( temp 2X3 matrix of float)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:37 direct index ( temp 4-component vector of float)
|
||||
0:37 'r31' ( temp 3X4 matrix of float)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:37 direct index ( temp float)
|
||||
0:37 direct index ( temp 2-component vector of float)
|
||||
0:37 'r32' ( temp 3X2 matrix of float)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:37 direct index ( temp 4-component vector of float)
|
||||
0:37 transpose ( temp 3X4 matrix of float)
|
||||
0:37 'r33' ( temp 4X3 matrix of float)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:18 Function Definition: main( ( temp void)
|
||||
0:18 Function Parameters:
|
||||
0:? Sequence
|
||||
0:18 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:18 Function Call: @main( ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:18 Function Definition: @main( ( temp 4-component vector of float)
|
||||
0:18 Function Parameters:
|
||||
0:? Sequence
|
||||
0:20 Sequence
|
||||
0:20 move second child to first child ( temp float)
|
||||
0:20 'r00' ( temp float)
|
||||
0:20 dot-product ( temp float)
|
||||
0:20 v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
|
||||
0:20 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:20 Constant:
|
||||
0:20 8 (const uint)
|
||||
0:20 Construct vec2 ( in 2-component vector of float)
|
||||
0:20 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
||||
0:20 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:20 Constant:
|
||||
0:20 7 (const uint)
|
||||
0:21 Sequence
|
||||
0:21 move second child to first child ( temp float)
|
||||
0:21 'r01' ( temp float)
|
||||
0:21 dot-product ( temp float)
|
||||
0:21 Construct vec2 ( in 2-component vector of float)
|
||||
0:21 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||
0:21 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:21 Constant:
|
||||
0:21 6 (const uint)
|
||||
0:21 v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
|
||||
0:21 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:21 Constant:
|
||||
0:21 8 (const uint)
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child ( temp 4-component vector of float)
|
||||
0:24 'r10' ( temp 4-component vector of float)
|
||||
0:24 matrix-times-vector ( temp 4-component vector of float)
|
||||
0:24 Construct mat3x4 ( uniform 3X4 matrix of float)
|
||||
0:24 m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||
0:24 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:24 Constant:
|
||||
0:24 0 (const uint)
|
||||
0:24 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
||||
0:24 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:24 Constant:
|
||||
0:24 7 (const uint)
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child ( temp 4-component vector of float)
|
||||
0:25 'r11' ( temp 4-component vector of float)
|
||||
0:25 matrix-times-vector ( temp 4-component vector of float)
|
||||
0:25 m34: direct index for structure (layout( row_major std140) uniform 3X4 matrix of float)
|
||||
0:25 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:25 Constant:
|
||||
0:25 2 (const uint)
|
||||
0:25 Construct vec3 ( uniform 3-component vector of float)
|
||||
0:25 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||
0:25 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:25 Constant:
|
||||
0:25 6 (const uint)
|
||||
0:28 Sequence
|
||||
0:28 move second child to first child ( temp 4-component vector of float)
|
||||
0:28 'r20' ( temp 4-component vector of float)
|
||||
0:28 vector-times-matrix ( temp 4-component vector of float)
|
||||
0:28 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
||||
0:28 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:28 Constant:
|
||||
0:28 7 (const uint)
|
||||
0:28 Construct mat4x3 ( uniform 4X3 matrix of float)
|
||||
0:28 m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||
0:28 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:28 Constant:
|
||||
0:28 0 (const uint)
|
||||
0:29 Sequence
|
||||
0:29 move second child to first child ( temp 4-component vector of float)
|
||||
0:29 'r21' ( temp 4-component vector of float)
|
||||
0:29 vector-times-matrix ( temp 4-component vector of float)
|
||||
0:29 Construct vec3 ( uniform 3-component vector of float)
|
||||
0:29 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||
0:29 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:29 Constant:
|
||||
0:29 6 (const uint)
|
||||
0:29 m43: direct index for structure (layout( row_major std140) uniform 4X3 matrix of float)
|
||||
0:29 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:29 Constant:
|
||||
0:29 1 (const uint)
|
||||
0:32 Sequence
|
||||
0:32 move second child to first child ( temp 2X3 matrix of float)
|
||||
0:32 'r30' ( temp 2X3 matrix of float)
|
||||
0:32 matrix-multiply ( temp 2X3 matrix of float)
|
||||
0:32 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||
0:32 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:32 Constant:
|
||||
0:32 3 (const uint)
|
||||
0:32 Construct mat2x3 ( uniform 2X3 matrix of float)
|
||||
0:32 m24: direct index for structure (layout( row_major std140) uniform 2X4 matrix of float)
|
||||
0:32 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:32 Constant:
|
||||
0:32 4 (const uint)
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child ( temp 3X4 matrix of float)
|
||||
0:33 'r31' ( temp 3X4 matrix of float)
|
||||
0:33 matrix-multiply ( temp 3X4 matrix of float)
|
||||
0:33 m24: direct index for structure (layout( row_major std140) uniform 2X4 matrix of float)
|
||||
0:33 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:33 Constant:
|
||||
0:33 4 (const uint)
|
||||
0:33 Construct mat3x2 ( uniform 3X2 matrix of float)
|
||||
0:33 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||
0:33 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:33 Constant:
|
||||
0:33 3 (const uint)
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child ( temp 3X2 matrix of float)
|
||||
0:34 'r32' ( temp 3X2 matrix of float)
|
||||
0:34 matrix-multiply ( temp 3X2 matrix of float)
|
||||
0:34 Construct mat3x2 ( uniform 3X2 matrix of float)
|
||||
0:34 m42: direct index for structure (layout( row_major std140) uniform 4X2 matrix of float)
|
||||
0:34 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:34 Constant:
|
||||
0:34 5 (const uint)
|
||||
0:34 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||
0:34 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:34 Constant:
|
||||
0:34 3 (const uint)
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child ( temp 4X3 matrix of float)
|
||||
0:35 'r33' ( temp 4X3 matrix of float)
|
||||
0:35 matrix-multiply ( temp 4X3 matrix of float)
|
||||
0:35 Construct mat2x3 ( uniform 2X3 matrix of float)
|
||||
0:35 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||
0:35 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:35 Constant:
|
||||
0:35 3 (const uint)
|
||||
0:35 m42: direct index for structure (layout( row_major std140) uniform 4X2 matrix of float)
|
||||
0:35 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:35 Constant:
|
||||
0:35 5 (const uint)
|
||||
0:37 Branch: Return with expression
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 add ( temp 4-component vector of float)
|
||||
0:37 'r10' ( temp 4-component vector of float)
|
||||
0:37 'r11' ( temp 4-component vector of float)
|
||||
0:37 'r20' ( temp 4-component vector of float)
|
||||
0:37 'r21' ( temp 4-component vector of float)
|
||||
0:37 'r00' ( temp float)
|
||||
0:37 'r01' ( temp float)
|
||||
0:37 direct index ( temp float)
|
||||
0:37 direct index ( temp 3-component vector of float)
|
||||
0:37 'r30' ( temp 2X3 matrix of float)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:37 direct index ( temp 4-component vector of float)
|
||||
0:37 'r31' ( temp 3X4 matrix of float)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:37 direct index ( temp float)
|
||||
0:37 direct index ( temp 2-component vector of float)
|
||||
0:37 'r32' ( temp 3X2 matrix of float)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:37 direct index ( temp 4-component vector of float)
|
||||
0:37 transpose ( temp 3X4 matrix of float)
|
||||
0:37 'r33' ( temp 4X3 matrix of float)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:18 Function Definition: main( ( temp void)
|
||||
0:18 Function Parameters:
|
||||
0:? Sequence
|
||||
0:18 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:18 Function Call: @main( ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80002
|
||||
// Id's are bound by 231
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 229
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 9 "@main("
|
||||
Name 12 "r00"
|
||||
Name 21 "Matrix"
|
||||
MemberName 21(Matrix) 0 "m44"
|
||||
MemberName 21(Matrix) 1 "m43"
|
||||
MemberName 21(Matrix) 2 "m34"
|
||||
MemberName 21(Matrix) 3 "m33"
|
||||
MemberName 21(Matrix) 4 "m24"
|
||||
MemberName 21(Matrix) 5 "m42"
|
||||
MemberName 21(Matrix) 6 "v4"
|
||||
MemberName 21(Matrix) 7 "v3"
|
||||
MemberName 21(Matrix) 8 "v2"
|
||||
Name 23 ""
|
||||
Name 37 "r01"
|
||||
Name 49 "r10"
|
||||
Name 75 "r11"
|
||||
Name 87 "r20"
|
||||
Name 110 "r21"
|
||||
Name 124 "r30"
|
||||
Name 144 "r31"
|
||||
Name 162 "r32"
|
||||
Name 181 "r33"
|
||||
Name 229 "@entryPointOutput"
|
||||
MemberDecorate 21(Matrix) 0 RowMajor
|
||||
MemberDecorate 21(Matrix) 0 Offset 0
|
||||
MemberDecorate 21(Matrix) 0 MatrixStride 16
|
||||
MemberDecorate 21(Matrix) 1 RowMajor
|
||||
MemberDecorate 21(Matrix) 1 Offset 64
|
||||
MemberDecorate 21(Matrix) 1 MatrixStride 16
|
||||
MemberDecorate 21(Matrix) 2 RowMajor
|
||||
MemberDecorate 21(Matrix) 2 Offset 112
|
||||
MemberDecorate 21(Matrix) 2 MatrixStride 16
|
||||
MemberDecorate 21(Matrix) 3 RowMajor
|
||||
MemberDecorate 21(Matrix) 3 Offset 176
|
||||
MemberDecorate 21(Matrix) 3 MatrixStride 16
|
||||
MemberDecorate 21(Matrix) 4 RowMajor
|
||||
MemberDecorate 21(Matrix) 4 Offset 224
|
||||
MemberDecorate 21(Matrix) 4 MatrixStride 16
|
||||
MemberDecorate 21(Matrix) 5 RowMajor
|
||||
MemberDecorate 21(Matrix) 5 Offset 288
|
||||
MemberDecorate 21(Matrix) 5 MatrixStride 16
|
||||
MemberDecorate 21(Matrix) 6 Offset 320
|
||||
MemberDecorate 21(Matrix) 7 Offset 336
|
||||
MemberDecorate 21(Matrix) 8 Offset 352
|
||||
Decorate 21(Matrix) Block
|
||||
Decorate 23 DescriptorSet 0
|
||||
Decorate 229(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypeFunction 7(fvec4)
|
||||
11: TypePointer Function 6(float)
|
||||
13: TypeMatrix 7(fvec4) 4
|
||||
14: TypeVector 6(float) 3
|
||||
15: TypeMatrix 14(fvec3) 4
|
||||
16: TypeMatrix 7(fvec4) 3
|
||||
17: TypeMatrix 14(fvec3) 3
|
||||
18: TypeMatrix 7(fvec4) 2
|
||||
19: TypeVector 6(float) 2
|
||||
20: TypeMatrix 19(fvec2) 4
|
||||
21(Matrix): TypeStruct 13 15 16 17 18 20 7(fvec4) 14(fvec3) 19(fvec2)
|
||||
22: TypePointer Uniform 21(Matrix)
|
||||
23: 22(ptr) Variable Uniform
|
||||
24: TypeInt 32 1
|
||||
25: 24(int) Constant 8
|
||||
26: TypePointer Uniform 19(fvec2)
|
||||
29: 24(int) Constant 7
|
||||
30: TypePointer Uniform 14(fvec3)
|
||||
38: 24(int) Constant 6
|
||||
39: TypePointer Uniform 7(fvec4)
|
||||
48: TypePointer Function 7(fvec4)
|
||||
50: 24(int) Constant 0
|
||||
51: TypePointer Uniform 13
|
||||
54: 6(float) Constant 1065353216
|
||||
55: 6(float) Constant 0
|
||||
76: 24(int) Constant 2
|
||||
77: TypePointer Uniform 16
|
||||
117: 24(int) Constant 1
|
||||
118: TypePointer Uniform 15
|
||||
122: TypeMatrix 14(fvec3) 2
|
||||
123: TypePointer Function 122
|
||||
125: 24(int) Constant 3
|
||||
126: TypePointer Uniform 17
|
||||
129: 24(int) Constant 4
|
||||
130: TypePointer Uniform 18
|
||||
143: TypePointer Function 16
|
||||
149: TypeMatrix 19(fvec2) 3
|
||||
161: TypePointer Function 149
|
||||
163: 24(int) Constant 5
|
||||
164: TypePointer Uniform 20
|
||||
180: TypePointer Function 15
|
||||
209: TypeInt 32 0
|
||||
210: 209(int) Constant 0
|
||||
228: TypePointer Output 7(fvec4)
|
||||
229(@entryPointOutput): 228(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
230: 7(fvec4) FunctionCall 9(@main()
|
||||
Store 229(@entryPointOutput) 230
|
||||
Return
|
||||
FunctionEnd
|
||||
9(@main(): 7(fvec4) Function None 8
|
||||
10: Label
|
||||
12(r00): 11(ptr) Variable Function
|
||||
37(r01): 11(ptr) Variable Function
|
||||
49(r10): 48(ptr) Variable Function
|
||||
75(r11): 48(ptr) Variable Function
|
||||
87(r20): 48(ptr) Variable Function
|
||||
110(r21): 48(ptr) Variable Function
|
||||
124(r30): 123(ptr) Variable Function
|
||||
144(r31): 143(ptr) Variable Function
|
||||
162(r32): 161(ptr) Variable Function
|
||||
181(r33): 180(ptr) Variable Function
|
||||
27: 26(ptr) AccessChain 23 25
|
||||
28: 19(fvec2) Load 27
|
||||
31: 30(ptr) AccessChain 23 29
|
||||
32: 14(fvec3) Load 31
|
||||
33: 6(float) CompositeExtract 32 0
|
||||
34: 6(float) CompositeExtract 32 1
|
||||
35: 19(fvec2) CompositeConstruct 33 34
|
||||
36: 6(float) Dot 28 35
|
||||
Store 12(r00) 36
|
||||
40: 39(ptr) AccessChain 23 38
|
||||
41: 7(fvec4) Load 40
|
||||
42: 6(float) CompositeExtract 41 0
|
||||
43: 6(float) CompositeExtract 41 1
|
||||
44: 19(fvec2) CompositeConstruct 42 43
|
||||
45: 26(ptr) AccessChain 23 25
|
||||
46: 19(fvec2) Load 45
|
||||
47: 6(float) Dot 44 46
|
||||
Store 37(r01) 47
|
||||
52: 51(ptr) AccessChain 23 50
|
||||
53: 13 Load 52
|
||||
56: 6(float) CompositeExtract 53 0 0
|
||||
57: 6(float) CompositeExtract 53 0 1
|
||||
58: 6(float) CompositeExtract 53 0 2
|
||||
59: 6(float) CompositeExtract 53 0 3
|
||||
60: 6(float) CompositeExtract 53 1 0
|
||||
61: 6(float) CompositeExtract 53 1 1
|
||||
62: 6(float) CompositeExtract 53 1 2
|
||||
63: 6(float) CompositeExtract 53 1 3
|
||||
64: 6(float) CompositeExtract 53 2 0
|
||||
65: 6(float) CompositeExtract 53 2 1
|
||||
66: 6(float) CompositeExtract 53 2 2
|
||||
67: 6(float) CompositeExtract 53 2 3
|
||||
68: 7(fvec4) CompositeConstruct 56 57 58 59
|
||||
69: 7(fvec4) CompositeConstruct 60 61 62 63
|
||||
70: 7(fvec4) CompositeConstruct 64 65 66 67
|
||||
71: 16 CompositeConstruct 68 69 70
|
||||
72: 30(ptr) AccessChain 23 29
|
||||
73: 14(fvec3) Load 72
|
||||
74: 7(fvec4) MatrixTimesVector 71 73
|
||||
Store 49(r10) 74
|
||||
78: 77(ptr) AccessChain 23 76
|
||||
79: 16 Load 78
|
||||
80: 39(ptr) AccessChain 23 38
|
||||
81: 7(fvec4) Load 80
|
||||
82: 6(float) CompositeExtract 81 0
|
||||
83: 6(float) CompositeExtract 81 1
|
||||
84: 6(float) CompositeExtract 81 2
|
||||
85: 14(fvec3) CompositeConstruct 82 83 84
|
||||
86: 7(fvec4) MatrixTimesVector 79 85
|
||||
Store 75(r11) 86
|
||||
88: 30(ptr) AccessChain 23 29
|
||||
89: 14(fvec3) Load 88
|
||||
90: 51(ptr) AccessChain 23 50
|
||||
91: 13 Load 90
|
||||
92: 6(float) CompositeExtract 91 0 0
|
||||
93: 6(float) CompositeExtract 91 0 1
|
||||
94: 6(float) CompositeExtract 91 0 2
|
||||
95: 6(float) CompositeExtract 91 1 0
|
||||
96: 6(float) CompositeExtract 91 1 1
|
||||
97: 6(float) CompositeExtract 91 1 2
|
||||
98: 6(float) CompositeExtract 91 2 0
|
||||
99: 6(float) CompositeExtract 91 2 1
|
||||
100: 6(float) CompositeExtract 91 2 2
|
||||
101: 6(float) CompositeExtract 91 3 0
|
||||
102: 6(float) CompositeExtract 91 3 1
|
||||
103: 6(float) CompositeExtract 91 3 2
|
||||
104: 14(fvec3) CompositeConstruct 92 93 94
|
||||
105: 14(fvec3) CompositeConstruct 95 96 97
|
||||
106: 14(fvec3) CompositeConstruct 98 99 100
|
||||
107: 14(fvec3) CompositeConstruct 101 102 103
|
||||
108: 15 CompositeConstruct 104 105 106 107
|
||||
109: 7(fvec4) VectorTimesMatrix 89 108
|
||||
Store 87(r20) 109
|
||||
111: 39(ptr) AccessChain 23 38
|
||||
112: 7(fvec4) Load 111
|
||||
113: 6(float) CompositeExtract 112 0
|
||||
114: 6(float) CompositeExtract 112 1
|
||||
115: 6(float) CompositeExtract 112 2
|
||||
116: 14(fvec3) CompositeConstruct 113 114 115
|
||||
119: 118(ptr) AccessChain 23 117
|
||||
120: 15 Load 119
|
||||
121: 7(fvec4) VectorTimesMatrix 116 120
|
||||
Store 110(r21) 121
|
||||
127: 126(ptr) AccessChain 23 125
|
||||
128: 17 Load 127
|
||||
131: 130(ptr) AccessChain 23 129
|
||||
132: 18 Load 131
|
||||
133: 6(float) CompositeExtract 132 0 0
|
||||
134: 6(float) CompositeExtract 132 0 1
|
||||
135: 6(float) CompositeExtract 132 0 2
|
||||
136: 6(float) CompositeExtract 132 1 0
|
||||
137: 6(float) CompositeExtract 132 1 1
|
||||
138: 6(float) CompositeExtract 132 1 2
|
||||
139: 14(fvec3) CompositeConstruct 133 134 135
|
||||
140: 14(fvec3) CompositeConstruct 136 137 138
|
||||
141: 122 CompositeConstruct 139 140
|
||||
142: 122 MatrixTimesMatrix 128 141
|
||||
Store 124(r30) 142
|
||||
145: 130(ptr) AccessChain 23 129
|
||||
146: 18 Load 145
|
||||
147: 126(ptr) AccessChain 23 125
|
||||
148: 17 Load 147
|
||||
150: 6(float) CompositeExtract 148 0 0
|
||||
151: 6(float) CompositeExtract 148 0 1
|
||||
152: 6(float) CompositeExtract 148 1 0
|
||||
153: 6(float) CompositeExtract 148 1 1
|
||||
154: 6(float) CompositeExtract 148 2 0
|
||||
155: 6(float) CompositeExtract 148 2 1
|
||||
156: 19(fvec2) CompositeConstruct 150 151
|
||||
157: 19(fvec2) CompositeConstruct 152 153
|
||||
158: 19(fvec2) CompositeConstruct 154 155
|
||||
159: 149 CompositeConstruct 156 157 158
|
||||
160: 16 MatrixTimesMatrix 146 159
|
||||
Store 144(r31) 160
|
||||
165: 164(ptr) AccessChain 23 163
|
||||
166: 20 Load 165
|
||||
167: 6(float) CompositeExtract 166 0 0
|
||||
168: 6(float) CompositeExtract 166 0 1
|
||||
169: 6(float) CompositeExtract 166 1 0
|
||||
170: 6(float) CompositeExtract 166 1 1
|
||||
171: 6(float) CompositeExtract 166 2 0
|
||||
172: 6(float) CompositeExtract 166 2 1
|
||||
173: 19(fvec2) CompositeConstruct 167 168
|
||||
174: 19(fvec2) CompositeConstruct 169 170
|
||||
175: 19(fvec2) CompositeConstruct 171 172
|
||||
176: 149 CompositeConstruct 173 174 175
|
||||
177: 126(ptr) AccessChain 23 125
|
||||
178: 17 Load 177
|
||||
179: 149 MatrixTimesMatrix 176 178
|
||||
Store 162(r32) 179
|
||||
182: 126(ptr) AccessChain 23 125
|
||||
183: 17 Load 182
|
||||
184: 6(float) CompositeExtract 183 0 0
|
||||
185: 6(float) CompositeExtract 183 0 1
|
||||
186: 6(float) CompositeExtract 183 0 2
|
||||
187: 6(float) CompositeExtract 183 1 0
|
||||
188: 6(float) CompositeExtract 183 1 1
|
||||
189: 6(float) CompositeExtract 183 1 2
|
||||
190: 14(fvec3) CompositeConstruct 184 185 186
|
||||
191: 14(fvec3) CompositeConstruct 187 188 189
|
||||
192: 122 CompositeConstruct 190 191
|
||||
193: 164(ptr) AccessChain 23 163
|
||||
194: 20 Load 193
|
||||
195: 15 MatrixTimesMatrix 192 194
|
||||
Store 181(r33) 195
|
||||
196: 7(fvec4) Load 49(r10)
|
||||
197: 7(fvec4) Load 75(r11)
|
||||
198: 7(fvec4) FAdd 196 197
|
||||
199: 7(fvec4) Load 87(r20)
|
||||
200: 7(fvec4) FAdd 198 199
|
||||
201: 7(fvec4) Load 110(r21)
|
||||
202: 7(fvec4) FAdd 200 201
|
||||
203: 6(float) Load 12(r00)
|
||||
204: 7(fvec4) CompositeConstruct 203 203 203 203
|
||||
205: 7(fvec4) FAdd 202 204
|
||||
206: 6(float) Load 37(r01)
|
||||
207: 7(fvec4) CompositeConstruct 206 206 206 206
|
||||
208: 7(fvec4) FAdd 205 207
|
||||
211: 11(ptr) AccessChain 124(r30) 50 210
|
||||
212: 6(float) Load 211
|
||||
213: 7(fvec4) CompositeConstruct 212 212 212 212
|
||||
214: 7(fvec4) FAdd 208 213
|
||||
215: 48(ptr) AccessChain 144(r31) 50
|
||||
216: 7(fvec4) Load 215
|
||||
217: 7(fvec4) FAdd 214 216
|
||||
218: 11(ptr) AccessChain 162(r32) 50 210
|
||||
219: 6(float) Load 218
|
||||
220: 7(fvec4) CompositeConstruct 219 219 219 219
|
||||
221: 7(fvec4) FAdd 217 220
|
||||
222: 15 Load 181(r33)
|
||||
223: 16 Transpose 222
|
||||
224: 7(fvec4) CompositeExtract 223 0
|
||||
225: 7(fvec4) FAdd 221 224
|
||||
ReturnValue 225
|
||||
FunctionEnd
|
173
3rdparty/glslang/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out
поставляемый
Normal file
173
3rdparty/glslang/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out
поставляемый
Normal file
|
@ -0,0 +1,173 @@
|
|||
hlsl.store.rwbyteaddressbuffer.type.comp
|
||||
Shader version: 500
|
||||
local_size = (64, 1, 1)
|
||||
0:? Sequence
|
||||
0:5 Function Definition: @main(vu3; ( temp void)
|
||||
0:5 Function Parameters:
|
||||
0:5 'dispatchThreadID' ( in 3-component vector of uint)
|
||||
0:? Sequence
|
||||
0:6 Test condition and select ( temp void)
|
||||
0:6 Condition
|
||||
0:6 Compare Equal ( temp bool)
|
||||
0:6 direct index ( temp uint)
|
||||
0:6 'dispatchThreadID' ( in 3-component vector of uint)
|
||||
0:6 Constant:
|
||||
0:6 0 (const int)
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 true case
|
||||
0:? Sequence
|
||||
0:7 move second child to first child ( temp int)
|
||||
0:7 'byteAddrTemp' ( temp int)
|
||||
0:7 right-shift ( temp int)
|
||||
0:7 Constant:
|
||||
0:7 0 (const int)
|
||||
0:7 Constant:
|
||||
0:7 2 (const int)
|
||||
0:7 move second child to first child ( temp uint)
|
||||
0:7 indirect index (layout( row_major std430) buffer uint)
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:7 'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:7 Constant:
|
||||
0:7 0 (const uint)
|
||||
0:7 'byteAddrTemp' ( temp int)
|
||||
0:7 Constant:
|
||||
0:7 2 (const uint)
|
||||
0:5 Function Definition: main( ( temp void)
|
||||
0:5 Function Parameters:
|
||||
0:? Sequence
|
||||
0:5 move second child to first child ( temp 3-component vector of uint)
|
||||
0:? 'dispatchThreadID' ( temp 3-component vector of uint)
|
||||
0:? 'dispatchThreadID' ( in 3-component vector of uint GlobalInvocationID)
|
||||
0:5 Function Call: @main(vu3; ( temp void)
|
||||
0:? 'dispatchThreadID' ( temp 3-component vector of uint)
|
||||
0:? Linker Objects
|
||||
0:? 'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'dispatchThreadID' ( in 3-component vector of uint GlobalInvocationID)
|
||||
|
||||
|
||||
Linked compute stage:
|
||||
|
||||
|
||||
Shader version: 500
|
||||
local_size = (64, 1, 1)
|
||||
0:? Sequence
|
||||
0:5 Function Definition: @main(vu3; ( temp void)
|
||||
0:5 Function Parameters:
|
||||
0:5 'dispatchThreadID' ( in 3-component vector of uint)
|
||||
0:? Sequence
|
||||
0:6 Test condition and select ( temp void)
|
||||
0:6 Condition
|
||||
0:6 Compare Equal ( temp bool)
|
||||
0:6 direct index ( temp uint)
|
||||
0:6 'dispatchThreadID' ( in 3-component vector of uint)
|
||||
0:6 Constant:
|
||||
0:6 0 (const int)
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 true case
|
||||
0:? Sequence
|
||||
0:7 move second child to first child ( temp int)
|
||||
0:7 'byteAddrTemp' ( temp int)
|
||||
0:7 right-shift ( temp int)
|
||||
0:7 Constant:
|
||||
0:7 0 (const int)
|
||||
0:7 Constant:
|
||||
0:7 2 (const int)
|
||||
0:7 move second child to first child ( temp uint)
|
||||
0:7 indirect index (layout( row_major std430) buffer uint)
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:7 'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:7 Constant:
|
||||
0:7 0 (const uint)
|
||||
0:7 'byteAddrTemp' ( temp int)
|
||||
0:7 Constant:
|
||||
0:7 2 (const uint)
|
||||
0:5 Function Definition: main( ( temp void)
|
||||
0:5 Function Parameters:
|
||||
0:? Sequence
|
||||
0:5 move second child to first child ( temp 3-component vector of uint)
|
||||
0:? 'dispatchThreadID' ( temp 3-component vector of uint)
|
||||
0:? 'dispatchThreadID' ( in 3-component vector of uint GlobalInvocationID)
|
||||
0:5 Function Call: @main(vu3; ( temp void)
|
||||
0:? 'dispatchThreadID' ( temp 3-component vector of uint)
|
||||
0:? Linker Objects
|
||||
0:? 'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'dispatchThreadID' ( in 3-component vector of uint GlobalInvocationID)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80002
|
||||
// Id's are bound by 42
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main" 37
|
||||
ExecutionMode 4 LocalSize 64 1 1
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 11 "@main(vu3;"
|
||||
Name 10 "dispatchThreadID"
|
||||
Name 23 "byteAddrTemp"
|
||||
Name 28 "buffer"
|
||||
MemberName 28(buffer) 0 "@data"
|
||||
Name 30 "buffer"
|
||||
Name 35 "dispatchThreadID"
|
||||
Name 37 "dispatchThreadID"
|
||||
Name 39 "param"
|
||||
Decorate 27 ArrayStride 4
|
||||
MemberDecorate 28(buffer) 0 Offset 0
|
||||
Decorate 28(buffer) BufferBlock
|
||||
Decorate 30(buffer) DescriptorSet 0
|
||||
Decorate 37(dispatchThreadID) BuiltIn GlobalInvocationId
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypeVector 6(int) 3
|
||||
8: TypePointer Function 7(ivec3)
|
||||
9: TypeFunction 2 8(ptr)
|
||||
13: 6(int) Constant 0
|
||||
14: TypePointer Function 6(int)
|
||||
17: TypeBool
|
||||
21: TypeInt 32 1
|
||||
22: TypePointer Function 21(int)
|
||||
24: 21(int) Constant 0
|
||||
25: 21(int) Constant 2
|
||||
27: TypeRuntimeArray 6(int)
|
||||
28(buffer): TypeStruct 27
|
||||
29: TypePointer Uniform 28(buffer)
|
||||
30(buffer): 29(ptr) Variable Uniform
|
||||
32: 6(int) Constant 2
|
||||
33: TypePointer Uniform 6(int)
|
||||
36: TypePointer Input 7(ivec3)
|
||||
37(dispatchThreadID): 36(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
35(dispatchThreadID): 8(ptr) Variable Function
|
||||
39(param): 8(ptr) Variable Function
|
||||
38: 7(ivec3) Load 37(dispatchThreadID)
|
||||
Store 35(dispatchThreadID) 38
|
||||
40: 7(ivec3) Load 35(dispatchThreadID)
|
||||
Store 39(param) 40
|
||||
41: 2 FunctionCall 11(@main(vu3;) 39(param)
|
||||
Return
|
||||
FunctionEnd
|
||||
11(@main(vu3;): 2 Function None 9
|
||||
10(dispatchThreadID): 8(ptr) FunctionParameter
|
||||
12: Label
|
||||
23(byteAddrTemp): 22(ptr) Variable Function
|
||||
15: 14(ptr) AccessChain 10(dispatchThreadID) 13
|
||||
16: 6(int) Load 15
|
||||
18: 17(bool) IEqual 16 13
|
||||
SelectionMerge 20 None
|
||||
BranchConditional 18 19 20
|
||||
19: Label
|
||||
26: 21(int) ShiftRightArithmetic 24 25
|
||||
Store 23(byteAddrTemp) 26
|
||||
31: 21(int) Load 23(byteAddrTemp)
|
||||
34: 33(ptr) AccessChain 30(buffer) 24 31
|
||||
Store 34 32
|
||||
Branch 20
|
||||
20: Label
|
||||
Return
|
||||
FunctionEnd
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,32 @@
|
|||
|
||||
cbuffer ConstantBuffer : register( b0 )
|
||||
{
|
||||
matrix World;
|
||||
matrix View;
|
||||
matrix Projection;
|
||||
};
|
||||
|
||||
struct VS_INPUT
|
||||
{
|
||||
float4 Pos : POSITION;
|
||||
float3 Norm : NORMAL;
|
||||
};
|
||||
|
||||
struct PS_INPUT
|
||||
{
|
||||
float4 Pos : SV_POSITION;
|
||||
float3 Norm : TEXCOORD0;
|
||||
};
|
||||
|
||||
PS_INPUT main( VS_INPUT input )
|
||||
{
|
||||
int ConstantBuffer = 42; // test ConstantBuffer as an identifier
|
||||
|
||||
PS_INPUT output = (PS_INPUT)0;
|
||||
output.Pos = mul( input.Pos, World );
|
||||
output.Pos = mul( output.Pos, View );
|
||||
output.Pos = mul( output.Pos, Projection );
|
||||
output.Norm = mul( input.Norm, World ); // Work when output.Norm = mul( input.Norm, (float3x3)World );
|
||||
|
||||
return output;
|
||||
}
|
|
@ -17,7 +17,10 @@ FxaaTex fillOpaque()
|
|||
float4 main() : SV_TARGET0
|
||||
{
|
||||
FxaaTex tex1 = { g_tInputTexture_sampler, g_tInputTexture };
|
||||
float4 res = lookUp(tex1);
|
||||
FxaaTex tex2 = fillOpaque();
|
||||
res += lookUp(tex2);
|
||||
FxaaTex tex3 = tex1;
|
||||
return lookUp(tex3);
|
||||
res += lookUp(tex3);
|
||||
return res;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
|
||||
// Test v*v, v*m, m*v, and m*m argument clamping.
|
||||
|
||||
cbuffer Matrix
|
||||
{
|
||||
float4x4 m44;
|
||||
float4x3 m43;
|
||||
float3x4 m34;
|
||||
float3x3 m33;
|
||||
float2x4 m24;
|
||||
float4x2 m42;
|
||||
float4 v4;
|
||||
float3 v3;
|
||||
float2 v2;
|
||||
}
|
||||
|
||||
float4 main() : SV_Target0
|
||||
{
|
||||
// v*v:
|
||||
float r00 = mul(v2, v3); // float = float2*float3; // clamp to float2 dot product
|
||||
float r01 = mul(v4, v2); // float = float4*float2; // clamp to float2 dot product
|
||||
|
||||
// v*m
|
||||
float4 r10 = mul(v3, m44); // float4 = float3 * float4x4; // clamp mat to float3x4;
|
||||
float4 r11 = mul(v4, m34); // truncate vector to vec3
|
||||
|
||||
// m*v
|
||||
float4 r20 = mul(m44, v3); // float4 = float4x4 * float3; // clamp mat to float4x3;
|
||||
float4 r21 = mul(m43, v4); // truncate vector to vec3
|
||||
|
||||
// m*m
|
||||
float2x3 r30 = mul(m24, m33); // float2x3 = float2x4 * float3x3;
|
||||
float3x4 r31 = mul(m33, m24); // float3x4 = float3x3 * float2x4;
|
||||
float3x2 r32 = mul(m33, m42); // float3x2 = float3x3 * float4x2;
|
||||
float4x3 r33 = mul(m42, m33); // float4x3 = float4x2 * float3x3;
|
||||
|
||||
return r10 + r11 + r20 + r21 + r00 + r01 + r30[0].x + r31[0] + r32[0].x + transpose(r33)[0];
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
RWByteAddressBuffer buffer;
|
||||
|
||||
[numthreads(64, 1, 1)]
|
||||
void main( uint3 dispatchThreadID : SV_DispatchThreadID)
|
||||
{
|
||||
if(dispatchThreadID.x == 0)
|
||||
buffer.Store(0, 2);
|
||||
}
|
|
@ -1152,6 +1152,7 @@ public:
|
|||
sampler.clear();
|
||||
qualifier.clear();
|
||||
qualifier.storage = q;
|
||||
assert(!(isMatrix() && vectorSize != 0)); // prevent vectorSize != 0 on matrices
|
||||
}
|
||||
// for explicit precision qualifier
|
||||
TType(TBasicType t, TStorageQualifier q, TPrecisionQualifier p, int vs = 1, int mc = 0, int mr = 0,
|
||||
|
@ -1164,6 +1165,7 @@ public:
|
|||
qualifier.storage = q;
|
||||
qualifier.precision = p;
|
||||
assert(p >= EpqNone && p <= EpqHigh);
|
||||
assert(!(isMatrix() && vectorSize != 0)); // prevent vectorSize != 0 on matrices
|
||||
}
|
||||
// for turning a TPublicType into a TType, using a shallow copy
|
||||
explicit TType(const TPublicType& p) :
|
||||
|
|
|
@ -108,6 +108,7 @@ INSTANTIATE_TEST_CASE_P(
|
|||
{"hlsl.calculatelod.dx10.frag", "main"},
|
||||
{"hlsl.calculatelodunclamped.dx10.frag", "main"},
|
||||
{"hlsl.cast.frag", "PixelShaderFunction"},
|
||||
{"hlsl.cbuffer-identifier.vert", "main"},
|
||||
{"hlsl.charLit.vert", "main"},
|
||||
{"hlsl.clip.frag", "main"},
|
||||
{"hlsl.clipdistance-1.frag", "main"},
|
||||
|
@ -238,6 +239,7 @@ INSTANTIATE_TEST_CASE_P(
|
|||
{"hlsl.matrixSwizzle.vert", "ShaderFunction"},
|
||||
{"hlsl.memberFunCall.frag", "main"},
|
||||
{"hlsl.mintypes.frag", "main"},
|
||||
{"hlsl.mul-truncate.frag", "main"},
|
||||
{"hlsl.multiEntry.vert", "RealEntrypoint"},
|
||||
{"hlsl.multiReturn.frag", "main"},
|
||||
{"hlsl.matrixindex.frag", "main"},
|
||||
|
@ -300,6 +302,7 @@ INSTANTIATE_TEST_CASE_P(
|
|||
{"hlsl.shapeConvRet.frag", "main"},
|
||||
{"hlsl.snorm.uav.comp", "main"},
|
||||
{"hlsl.staticMemberFunction.frag", "main"},
|
||||
{"hlsl.store.rwbyteaddressbuffer.type.comp", "main"},
|
||||
{"hlsl.stringtoken.frag", "main"},
|
||||
{"hlsl.string.frag", "main"},
|
||||
{"hlsl.struct.split-1.vert", "main"},
|
||||
|
|
|
@ -2029,10 +2029,18 @@ bool HlslGrammar::acceptStruct(TType& type, TIntermNode*& nodeList)
|
|||
|
||||
// Now known to be one of CBUFFER, TBUFFER, CLASS, or STRUCT
|
||||
|
||||
// IDENTIFIER
|
||||
|
||||
// IDENTIFIER. It might also be a keyword which can double as an identifier.
|
||||
// For example: 'cbuffer ConstantBuffer' or 'struct ConstantBuffer' is legal.
|
||||
// 'cbuffer int' is also legal, and 'struct int' appears rejected only because
|
||||
// it attempts to redefine the 'int' type.
|
||||
const char* idString = getTypeString(peek());
|
||||
TString structName = "";
|
||||
if (peekTokenClass(EHTokIdentifier)) {
|
||||
structName = *token.string;
|
||||
if (peekTokenClass(EHTokIdentifier) || idString != nullptr) {
|
||||
if (idString != nullptr)
|
||||
structName = *idString;
|
||||
else
|
||||
structName = *token.string;
|
||||
advanceToken();
|
||||
}
|
||||
|
||||
|
@ -2618,6 +2626,8 @@ bool HlslGrammar::acceptFunctionBody(TFunctionDeclarator& declarator, TIntermNod
|
|||
//
|
||||
bool HlslGrammar::acceptParenExpression(TIntermTyped*& expression)
|
||||
{
|
||||
expression = nullptr;
|
||||
|
||||
// LEFT_PAREN
|
||||
if (! acceptTokenClass(EHTokLeftParen))
|
||||
expected("(");
|
||||
|
@ -3666,7 +3676,6 @@ bool HlslGrammar::acceptIterationStatement(TIntermNode*& statement, const TAttri
|
|||
}
|
||||
|
||||
// LEFT_PAREN condition RIGHT_PAREN
|
||||
TIntermTyped* condition;
|
||||
if (! acceptParenExpression(condition))
|
||||
return false;
|
||||
condition = parseContext.convertConditionalExpression(loc, condition);
|
||||
|
@ -4056,6 +4065,7 @@ const char* HlslGrammar::getTypeString(EHlslTokenClass tokenClass) const
|
|||
case EHTokMin10float: return "min10float";
|
||||
case EHTokMin16int: return "min16int";
|
||||
case EHTokMin12int: return "min12int";
|
||||
case EHTokConstantBuffer: return "ConstantBuffer";
|
||||
default:
|
||||
return nullptr;
|
||||
}
|
||||
|
|
|
@ -3238,7 +3238,7 @@ void HlslParseContext::decomposeStructBufferMethods(const TSourceLoc& loc, TInte
|
|||
|
||||
// Index into the array to find the item being loaded.
|
||||
// Byte address buffers index in bytes (only multiples of 4 permitted... not so much a byte address
|
||||
// buffer then, but that's what it calls itself.
|
||||
// buffer then, but that's what it calls itself).
|
||||
|
||||
int size = 0;
|
||||
|
||||
|
@ -3274,6 +3274,9 @@ void HlslParseContext::decomposeStructBufferMethods(const TSourceLoc& loc, TInte
|
|||
: EOpIndexIndirect;
|
||||
|
||||
TIntermTyped* lValue = intermediate.addIndex(idxOp, argArray, offsetIdx, loc);
|
||||
const TType derefType(argArray->getType(), 0);
|
||||
lValue->setType(derefType);
|
||||
|
||||
TIntermTyped* rValue = (size == 1) ? argValue :
|
||||
intermediate.addIndex(EOpIndexDirect, argValue, idxConst, loc);
|
||||
|
||||
|
@ -5008,6 +5011,12 @@ TIntermTyped* HlslParseContext::handleFunctionCall(const TSourceLoc& loc, TFunct
|
|||
bool builtIn = false;
|
||||
int thisDepth = 0;
|
||||
|
||||
// For mat mul, the situation is unusual: we have to compare vector sizes to mat row or col sizes,
|
||||
// and clamp the opposite arg. Since that's complex, we farm it off to a separate method.
|
||||
// It doesn't naturally fall out of processing an argument at a time in isolation.
|
||||
if (function->getName() == "mul")
|
||||
addGenMulArgumentConversion(loc, *function, arguments);
|
||||
|
||||
TIntermAggregate* aggregate = arguments ? arguments->getAsAggregate() : nullptr;
|
||||
|
||||
// TODO: this needs improvement: there's no way at present to look up a signature in
|
||||
|
@ -5169,6 +5178,83 @@ void HlslParseContext::pushFrontArguments(TIntermTyped* front, TIntermTyped*& ar
|
|||
arguments = intermediate.growAggregate(front, arguments);
|
||||
}
|
||||
|
||||
//
|
||||
// HLSL allows mismatched dimensions on vec*mat, mat*vec, vec*vec, and mat*mat. This is a
|
||||
// situation not well suited to resolution in intrinsic selection, but we can do so here, since we
|
||||
// can look at both arguments insert explicit shape changes if required.
|
||||
//
|
||||
void HlslParseContext::addGenMulArgumentConversion(const TSourceLoc& loc, TFunction& call, TIntermTyped*& args)
|
||||
{
|
||||
TIntermAggregate* argAggregate = args ? args->getAsAggregate() : nullptr;
|
||||
|
||||
if (argAggregate == nullptr || argAggregate->getSequence().size() != 2) {
|
||||
// It really ought to have two arguments.
|
||||
error(loc, "expected: mul arguments", "", "");
|
||||
return;
|
||||
}
|
||||
|
||||
TIntermTyped* arg0 = argAggregate->getSequence()[0]->getAsTyped();
|
||||
TIntermTyped* arg1 = argAggregate->getSequence()[1]->getAsTyped();
|
||||
|
||||
if (arg0->isVector() && arg1->isVector()) {
|
||||
// For:
|
||||
// vec * vec: it's handled during intrinsic selection, so while we could do it here,
|
||||
// we can also ignore it, which is easier.
|
||||
} else if (arg0->isVector() && arg1->isMatrix()) {
|
||||
// vec * mat: we clamp the vec if the mat col is smaller, else clamp the mat col.
|
||||
if (arg0->getVectorSize() < arg1->getMatrixCols()) {
|
||||
// vec is smaller, so truncate larger mat dimension
|
||||
const TType truncType(arg1->getBasicType(), arg1->getQualifier().storage, arg1->getQualifier().precision,
|
||||
0, arg0->getVectorSize(), arg1->getMatrixRows());
|
||||
arg1 = addConstructor(loc, arg1, truncType);
|
||||
} else if (arg0->getVectorSize() > arg1->getMatrixCols()) {
|
||||
// vec is larger, so truncate vec to mat size
|
||||
const TType truncType(arg0->getBasicType(), arg0->getQualifier().storage, arg0->getQualifier().precision,
|
||||
arg1->getMatrixCols());
|
||||
arg0 = addConstructor(loc, arg0, truncType);
|
||||
}
|
||||
} else if (arg0->isMatrix() && arg1->isVector()) {
|
||||
// mat * vec: we clamp the vec if the mat col is smaller, else clamp the mat col.
|
||||
if (arg1->getVectorSize() < arg0->getMatrixRows()) {
|
||||
// vec is smaller, so truncate larger mat dimension
|
||||
const TType truncType(arg0->getBasicType(), arg0->getQualifier().storage, arg0->getQualifier().precision,
|
||||
0, arg0->getMatrixCols(), arg1->getVectorSize());
|
||||
arg0 = addConstructor(loc, arg0, truncType);
|
||||
} else if (arg1->getVectorSize() > arg0->getMatrixRows()) {
|
||||
// vec is larger, so truncate vec to mat size
|
||||
const TType truncType(arg1->getBasicType(), arg1->getQualifier().storage, arg1->getQualifier().precision,
|
||||
arg0->getMatrixRows());
|
||||
arg1 = addConstructor(loc, arg1, truncType);
|
||||
}
|
||||
} else if (arg0->isMatrix() && arg1->isMatrix()) {
|
||||
// mat * mat: we clamp the smaller inner dimension to match the other matrix size.
|
||||
// Remember, HLSL Mrc = GLSL/SPIRV Mcr.
|
||||
if (arg0->getMatrixRows() > arg1->getMatrixCols()) {
|
||||
const TType truncType(arg0->getBasicType(), arg0->getQualifier().storage, arg0->getQualifier().precision,
|
||||
0, arg0->getMatrixCols(), arg1->getMatrixCols());
|
||||
arg0 = addConstructor(loc, arg0, truncType);
|
||||
} else if (arg0->getMatrixRows() < arg1->getMatrixCols()) {
|
||||
const TType truncType(arg1->getBasicType(), arg1->getQualifier().storage, arg1->getQualifier().precision,
|
||||
0, arg0->getMatrixRows(), arg1->getMatrixRows());
|
||||
arg1 = addConstructor(loc, arg1, truncType);
|
||||
}
|
||||
} else {
|
||||
// It's something with scalars: we'll just leave it alone. Function selection will handle it
|
||||
// downstream.
|
||||
}
|
||||
|
||||
// Warn if we altered one of the arguments
|
||||
if (arg0 != argAggregate->getSequence()[0] || arg1 != argAggregate->getSequence()[1])
|
||||
warn(loc, "mul() matrix size mismatch", "", "");
|
||||
|
||||
// Put arguments back. (They might be unchanged, in which case this is harmless).
|
||||
argAggregate->getSequence()[0] = arg0;
|
||||
argAggregate->getSequence()[1] = arg1;
|
||||
|
||||
call[0].type = &arg0->getWritableType();
|
||||
call[1].type = &arg1->getWritableType();
|
||||
}
|
||||
|
||||
//
|
||||
// Add any needed implicit conversions for function-call arguments to input parameters.
|
||||
//
|
||||
|
@ -7015,6 +7101,7 @@ void HlslParseContext::mergeObjectLayoutQualifiers(TQualifier& dst, const TQuali
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Look up a function name in the symbol table, and make sure it is a function.
|
||||
//
|
||||
|
|
|
@ -141,6 +141,7 @@ public:
|
|||
void checkNoShaderLayouts(const TSourceLoc&, const TShaderQualifiers&);
|
||||
|
||||
const TFunction* findFunction(const TSourceLoc& loc, TFunction& call, bool& builtIn, int& thisDepth, TIntermTyped*& args);
|
||||
void addGenMulArgumentConversion(const TSourceLoc& loc, TFunction& call, TIntermTyped*& args);
|
||||
void declareTypedef(const TSourceLoc&, const TString& identifier, const TType&);
|
||||
void declareStruct(const TSourceLoc&, TString& structName, TType&);
|
||||
TSymbol* lookupUserType(const TString&, TType&);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"site" : "github",
|
||||
"subrepo" : "KhronosGroup/SPIRV-Tools",
|
||||
"subdir" : "External/spirv-tools",
|
||||
"commit" : "ac04b2faeabc15811e8c542a5d7a36dbdba243b8"
|
||||
"commit" : "188cd3780d76256d6bfcbdb216b6368e9b070628"
|
||||
},
|
||||
{
|
||||
"name" : "spirv-tools/external/spirv-headers",
|
||||
|
|
Загрузка…
Ссылка в новой задаче