@@ -8,32 +8,34 @@ gl_FragCoord origin is upper left
...
@@ -8,32 +8,34 @@ gl_FragCoord origin is upper left
0:30 'vpos' ( in 4-component vector of float)
0:30 'vpos' ( in 4-component vector of float)
0:? Sequence
0:? Sequence
0:33 move second child to first child ( temp sampler)
0:33 move second child to first child ( temp sampler)
0:? 's1.s0.ss' ( temp sampler)
0:33 ss: direct index for structure ( temp sampler)
0:33 s0: direct index for structure ( temp structure{ temp int x, temp int y, temp sampler ss})
0:33 's1' ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
0:33 Constant:
0:33 2 (const int)
0:33 Constant:
0:33 2 (const int)
0:33 'samp' ( uniform sampler)
0:33 'samp' ( uniform sampler)
0:34 Sequence
0:34 move second child to first child ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
0:34 move second child to first child ( temp float)
0:34 resources: direct index for structure ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
0:? 's2.resources.b' ( temp float)
0:34 's2' ( temp structure{ temp int a1, temp int a2, temp int a3, temp int a4, temp int a5, temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a} resources})
0:? 's1.b' ( temp float)
0:34 Constant:
0:34 move second child to first child ( temp sampler)
0:34 5 (const int)
0:? 's2.resources.samplerState' ( temp sampler)
0:34 's1' ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
0:? 's1.samplerState' ( temp sampler)
0:34 move second child to first child ( temp int)
0:? 's2.resources.s0.x' ( temp int)
0:? 's1.s0.x' ( temp int)
0:34 move second child to first child ( temp int)
0:? 's2.resources.s0.y' ( temp int)
0:? 's1.s0.y' ( temp int)
0:34 move second child to first child ( temp sampler)
0:35 ss: direct index for structure ( temp sampler)
0:35 s0: direct index for structure ( temp structure{ temp int x, temp int y, temp sampler ss})
0:35 resources: direct index for structure ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
0:35 's2' ( temp structure{ temp int a1, temp int a2, temp int a3, temp int a4, temp int a5, temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a} resources})
0:35 Constant:
0:35 5 (const int)
0:35 Constant:
0:35 2 (const int)
0:35 Constant:
0:35 2 (const int)
0:35 Constant:
0:35 Constant:
0:35 0.500000
0:35 0.500000
0:35 0.500000
0:35 0.500000
...
@@ -65,32 +67,34 @@ gl_FragCoord origin is upper left
...
@@ -65,32 +67,34 @@ gl_FragCoord origin is upper left
0:30 'vpos' ( in 4-component vector of float)
0:30 'vpos' ( in 4-component vector of float)
0:? Sequence
0:? Sequence
0:33 move second child to first child ( temp sampler)
0:33 move second child to first child ( temp sampler)
0:? 's1.s0.ss' ( temp sampler)
0:33 ss: direct index for structure ( temp sampler)
0:33 s0: direct index for structure ( temp structure{ temp int x, temp int y, temp sampler ss})
0:33 's1' ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
0:33 Constant:
0:33 2 (const int)
0:33 Constant:
0:33 2 (const int)
0:33 'samp' ( uniform sampler)
0:33 'samp' ( uniform sampler)
0:34 Sequence
0:34 move second child to first child ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
0:34 move second child to first child ( temp float)
0:34 resources: direct index for structure ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
0:? 's2.resources.b' ( temp float)
0:34 's2' ( temp structure{ temp int a1, temp int a2, temp int a3, temp int a4, temp int a5, temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a} resources})
0:? 's1.b' ( temp float)
0:34 Constant:
0:34 move second child to first child ( temp sampler)
0:34 5 (const int)
0:? 's2.resources.samplerState' ( temp sampler)
0:34 's1' ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
0:? 's1.samplerState' ( temp sampler)
0:34 move second child to first child ( temp int)
0:? 's2.resources.s0.x' ( temp int)
0:? 's1.s0.x' ( temp int)
0:34 move second child to first child ( temp int)
0:? 's2.resources.s0.y' ( temp int)
0:? 's1.s0.y' ( temp int)
0:34 move second child to first child ( temp sampler)
0:35 ss: direct index for structure ( temp sampler)
0:35 s0: direct index for structure ( temp structure{ temp int x, temp int y, temp sampler ss})
0:35 resources: direct index for structure ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
0:35 's2' ( temp structure{ temp int a1, temp int a2, temp int a3, temp int a4, temp int a5, temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a} resources})
0:35 Constant:
0:35 5 (const int)
0:35 Constant:
0:35 2 (const int)
0:35 Constant:
0:35 2 (const int)
0:35 Constant:
0:35 Constant:
0:35 0.500000
0:35 0.500000
0:35 0.500000
0:35 0.500000
...
@@ -112,39 +116,45 @@ gl_FragCoord origin is upper left
...
@@ -112,39 +116,45 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Module Version 10000
// Generated by (magic number): 80002
// Generated by (magic number): 80002
// Id's are bound by 61
// Id's are bound by 54
Capability Shader
Capability Shader
1: ExtInstImport "GLSL.std.450"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 54 57
EntryPoint Fragment 4 "main" 47 50
ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Source HLSL 500
Name 4 "main"
Name 4 "main"
Name 11 "@main(vf4;"
Name 11 "@main(vf4;"
Name 10 "vpos"
Name 10 "vpos"
Name 15 "s1.s0.ss"
Name 15 "S0"
Name 17 "samp"
MemberName 15(S0) 0 "x"
Name 20 "s2.resources.b"
MemberName 15(S0) 1 "y"
Name 21 "s1.b"
MemberName 15(S0) 2 "ss"
Name 23 "s2.resources.samplerState"
Name 16 "S1"
Name 24 "s1.samplerState"
MemberName 16(S1) 0 "b"
Name 28 "s2.resources.s0.x"
MemberName 16(S1) 1 "samplerState"
Name 29 "s1.s0.x"
MemberName 16(S1) 2 "s0"
Name 31 "s2.resources.s0.y"
MemberName 16(S1) 3 "a"
Name 32 "s1.s0.y"
Name 18 "s1"
Name 34 "s2.resources.s0.ss"
Name 21 "samp"
Name 36 "s2.resources.a"
Name 25 "S2"
Name 37 "s1.a"
MemberName 25(S2) 0 "a1"
Name 41 "tex"
MemberName 25(S2) 1 "a2"
Name 52 "vpos"
MemberName 25(S2) 2 "a3"
Name 54 "vpos"
MemberName 25(S2) 3 "a4"
Name 57 "@entryPointOutput"
MemberName 25(S2) 4 "a5"
Name 58 "param"
MemberName 25(S2) 5 "resources"
Decorate 17(samp) DescriptorSet 0
Name 27 "s2"
Decorate 41(tex) DescriptorSet 0
Name 33 "tex"
Decorate 54(vpos) Location 0
Name 45 "vpos"
Decorate 57(@entryPointOutput) Location 0
Name 47 "vpos"
Name 50 "@entryPointOutput"
Name 51 "param"
Decorate 21(samp) DescriptorSet 0
Decorate 33(tex) DescriptorSet 0
Decorate 47(vpos) Location 0
Decorate 50(@entryPointOutput) Location 0
2: TypeVoid
2: TypeVoid
3: TypeFunction 2
3: TypeFunction 2
6: TypeFloat 32
6: TypeFloat 32
...
@@ -152,67 +162,55 @@ gl_FragCoord origin is upper left
...
@@ -152,67 +162,55 @@ gl_FragCoord origin is upper left
0:14 move second child to first child ( temp texture2D)
0:14 move second child to first child ( temp texture2D)
0:? 'packed.tex' ( temp texture2D)
0:14 tex: direct index for structure ( temp texture2D)
0:14 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:14 Constant:
0:14 0 (const int)
0:14 'tex' ( uniform texture2D)
0:14 'tex' ( uniform texture2D)
0:15 move second child to first child ( temp 3-component vector of float)
0:15 move second child to first child ( temp 3-component vector of float)
0:15 direct index ( temp 3-component vector of float)
0:15 direct index ( temp 3-component vector of float)
0:? 'packed.pos' ( temp 3-element array of 3-component vector of float)
0:15 pos: direct index for structure ( temp 3-element array of 3-component vector of float)
0:15 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:15 Constant:
0:15 1 (const int)
0:15 Constant:
0:15 Constant:
0:15 0 (const int)
0:15 0 (const int)
0:? Constant:
0:? Constant:
...
@@ -20,18 +26,27 @@ Shader version: 500
...
@@ -20,18 +26,27 @@ Shader version: 500
0:? 0.000000
0:? 0.000000
0:16 move second child to first child ( temp 2-component vector of float)
0:16 move second child to first child ( temp 2-component vector of float)
0:16 direct index ( temp 2-component vector of float)
0:16 direct index ( temp 2-component vector of float)
0:? 'packed.uv' ( temp 2-element array of 2-component vector of float)
0:16 uv: direct index for structure ( temp 2-element array of 2-component vector of float)
0:16 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:16 Constant:
0:16 2 (const int)
0:16 Constant:
0:16 Constant:
0:16 0 (const int)
0:16 0 (const int)
0:? Constant:
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 1.000000
0:? 1.000000
0:17 move second child to first child ( temp float)
0:17 move second child to first child ( temp float)
0:? 'packed.x' ( temp float)
0:17 x: direct index for structure ( temp float)
0:17 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:17 Constant:
0:17 3 (const int)
0:17 Constant:
0:17 Constant:
0:17 1.000000
0:17 1.000000
0:18 move second child to first child ( temp int)
0:18 move second child to first child ( temp int)
0:? 'packed.n' ( temp int)
0:18 n: direct index for structure ( temp int)
0:18 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:18 Constant:
0:18 4 (const int)
0:18 Constant:
0:18 Constant:
0:18 3 (const int)
0:18 3 (const int)
0:20 Sequence
0:20 Sequence
...
@@ -50,7 +65,10 @@ Shader version: 500
...
@@ -50,7 +65,10 @@ Shader version: 500
0:21 add second child into first child ( temp 2-component vector of float)
0:21 add second child into first child ( temp 2-component vector of float)
0:21 vector swizzle ( temp 2-component vector of float)
0:21 vector swizzle ( temp 2-component vector of float)
0:21 indirect index ( temp 3-component vector of float)
0:21 indirect index ( temp 3-component vector of float)
0:? 'packed.pos' ( temp 3-element array of 3-component vector of float)
0:21 pos: direct index for structure ( temp 3-element array of 3-component vector of float)
0:21 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:21 Constant:
0:21 1 (const int)
0:21 'i' ( temp int)
0:21 'i' ( temp int)
0:21 Sequence
0:21 Sequence
0:21 Constant:
0:21 Constant:
...
@@ -58,34 +76,27 @@ Shader version: 500
...
@@ -58,34 +76,27 @@ Shader version: 500
0:21 Constant:
0:21 Constant:
0:21 1 (const int)
0:21 1 (const int)
0:21 indirect index ( temp 2-component vector of float)
0:21 indirect index ( temp 2-component vector of float)
0:? 'packed.uv' ( temp 2-element array of 2-component vector of float)
0:21 uv: direct index for structure ( temp 2-element array of 2-component vector of float)
0:21 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:21 Constant:
0:21 2 (const int)
0:21 'i' ( temp int)
0:21 'i' ( temp int)
0:20 Loop Terminal Expression
0:20 Loop Terminal Expression
0:20 Pre-Increment ( temp int)
0:20 Pre-Increment ( temp int)
0:20 'i' ( temp int)
0:20 'i' ( temp int)
0:24 Sequence
0:24 Sequence
0:24 Sequence
0:24 move second child to first child ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:24 move second child to first child ( temp texture2D)
0:24 'packed2' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:? 'packed2.tex' ( temp texture2D)
0:24 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:? 'packed.tex' ( temp texture2D)
0:24 move second child to first child ( temp 3-element array of 3-component vector of float)
0:? 'packed2.pos' ( temp 3-element array of 3-component vector of float)
0:? 'packed.pos' ( temp 3-element array of 3-component vector of float)
0:24 move second child to first child ( temp 2-element array of 2-component vector of float)
0:? 'packed2.uv' ( temp 2-element array of 2-component vector of float)
0:? 'packed.uv' ( temp 2-element array of 2-component vector of float)
0:24 move second child to first child ( temp float)
0:? 'packed2.x' ( temp float)
0:? 'packed.x' ( temp float)
0:24 move second child to first child ( temp int)
0:? 'packed2.n' ( temp int)
0:? 'packed.n' ( temp int)
0:26 Branch: Return with expression
0:26 Branch: Return with expression
0:26 add ( temp 4-component vector of float)
0:26 add ( temp 4-component vector of float)
0:26 'pos' ( in 4-component vector of float)
0:26 'pos' ( in 4-component vector of float)
0:? Construct vec4 ( temp 4-component vector of float)
0:? Construct vec4 ( temp 4-component vector of float)
0:26 direct index ( temp 3-component vector of float)
0:26 direct index ( temp 3-component vector of float)
0:? 'packed2.pos' ( temp 3-element array of 3-component vector of float)
0:26 pos: direct index for structure ( temp 3-element array of 3-component vector of float)
0:26 'packed2' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:26 Constant:
0:26 1 (const int)
0:26 Constant:
0:26 Constant:
0:26 0 (const int)
0:26 0 (const int)
0:26 Constant:
0:26 Constant:
...
@@ -116,11 +127,17 @@ Shader version: 500
...
@@ -116,11 +127,17 @@ Shader version: 500
0:12 'pos' ( in 4-component vector of float)
0:12 'pos' ( in 4-component vector of float)
0:? Sequence
0:? Sequence
0:14 move second child to first child ( temp texture2D)
0:14 move second child to first child ( temp texture2D)
0:? 'packed.tex' ( temp texture2D)
0:14 tex: direct index for structure ( temp texture2D)
0:14 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:14 Constant:
0:14 0 (const int)
0:14 'tex' ( uniform texture2D)
0:14 'tex' ( uniform texture2D)
0:15 move second child to first child ( temp 3-component vector of float)
0:15 move second child to first child ( temp 3-component vector of float)
0:15 direct index ( temp 3-component vector of float)
0:15 direct index ( temp 3-component vector of float)
0:? 'packed.pos' ( temp 3-element array of 3-component vector of float)
0:15 pos: direct index for structure ( temp 3-element array of 3-component vector of float)
0:15 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:15 Constant:
0:15 1 (const int)
0:15 Constant:
0:15 Constant:
0:15 0 (const int)
0:15 0 (const int)
0:? Constant:
0:? Constant:
...
@@ -129,18 +146,27 @@ Shader version: 500
...
@@ -129,18 +146,27 @@ Shader version: 500
0:? 0.000000
0:? 0.000000
0:16 move second child to first child ( temp 2-component vector of float)
0:16 move second child to first child ( temp 2-component vector of float)
0:16 direct index ( temp 2-component vector of float)
0:16 direct index ( temp 2-component vector of float)
0:? 'packed.uv' ( temp 2-element array of 2-component vector of float)
0:16 uv: direct index for structure ( temp 2-element array of 2-component vector of float)
0:16 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:16 Constant:
0:16 2 (const int)
0:16 Constant:
0:16 Constant:
0:16 0 (const int)
0:16 0 (const int)
0:? Constant:
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 1.000000
0:? 1.000000
0:17 move second child to first child ( temp float)
0:17 move second child to first child ( temp float)
0:? 'packed.x' ( temp float)
0:17 x: direct index for structure ( temp float)
0:17 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:17 Constant:
0:17 3 (const int)
0:17 Constant:
0:17 Constant:
0:17 1.000000
0:17 1.000000
0:18 move second child to first child ( temp int)
0:18 move second child to first child ( temp int)
0:? 'packed.n' ( temp int)
0:18 n: direct index for structure ( temp int)
0:18 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:18 Constant:
0:18 4 (const int)
0:18 Constant:
0:18 Constant:
0:18 3 (const int)
0:18 3 (const int)
0:20 Sequence
0:20 Sequence
...
@@ -159,7 +185,10 @@ Shader version: 500
...
@@ -159,7 +185,10 @@ Shader version: 500
0:21 add second child into first child ( temp 2-component vector of float)
0:21 add second child into first child ( temp 2-component vector of float)
0:21 vector swizzle ( temp 2-component vector of float)
0:21 vector swizzle ( temp 2-component vector of float)
0:21 indirect index ( temp 3-component vector of float)
0:21 indirect index ( temp 3-component vector of float)
0:? 'packed.pos' ( temp 3-element array of 3-component vector of float)
0:21 pos: direct index for structure ( temp 3-element array of 3-component vector of float)
0:21 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:21 Constant:
0:21 1 (const int)
0:21 'i' ( temp int)
0:21 'i' ( temp int)
0:21 Sequence
0:21 Sequence
0:21 Constant:
0:21 Constant:
...
@@ -167,34 +196,27 @@ Shader version: 500
...
@@ -167,34 +196,27 @@ Shader version: 500
0:21 Constant:
0:21 Constant:
0:21 1 (const int)
0:21 1 (const int)
0:21 indirect index ( temp 2-component vector of float)
0:21 indirect index ( temp 2-component vector of float)
0:? 'packed.uv' ( temp 2-element array of 2-component vector of float)
0:21 uv: direct index for structure ( temp 2-element array of 2-component vector of float)
0:21 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:21 Constant:
0:21 2 (const int)
0:21 'i' ( temp int)
0:21 'i' ( temp int)
0:20 Loop Terminal Expression
0:20 Loop Terminal Expression
0:20 Pre-Increment ( temp int)
0:20 Pre-Increment ( temp int)
0:20 'i' ( temp int)
0:20 'i' ( temp int)
0:24 Sequence
0:24 Sequence
0:24 Sequence
0:24 move second child to first child ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:24 move second child to first child ( temp texture2D)
0:24 'packed2' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:? 'packed2.tex' ( temp texture2D)
0:24 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
0:? 'packed.tex' ( temp texture2D)
0:24 move second child to first child ( temp 3-element array of 3-component vector of float)
0:? 'packed2.pos' ( temp 3-element array of 3-component vector of float)
0:? 'packed.pos' ( temp 3-element array of 3-component vector of float)
0:24 move second child to first child ( temp 2-element array of 2-component vector of float)
0:? 'packed2.uv' ( temp 2-element array of 2-component vector of float)
0:? 'packed.uv' ( temp 2-element array of 2-component vector of float)
0:24 move second child to first child ( temp float)
0:? 'packed2.x' ( temp float)
0:? 'packed.x' ( temp float)
0:24 move second child to first child ( temp int)
0:? 'packed2.n' ( temp int)
0:? 'packed.n' ( temp int)
0:26 Branch: Return with expression
0:26 Branch: Return with expression
0:26 add ( temp 4-component vector of float)
0:26 add ( temp 4-component vector of float)
0:26 'pos' ( in 4-component vector of float)
0:26 'pos' ( in 4-component vector of float)
0:? Construct vec4 ( temp 4-component vector of float)
0:? Construct vec4 ( temp 4-component vector of float)
0:26 direct index ( temp 3-component vector of float)
0:26 direct index ( temp 3-component vector of float)
0:? 'packed2.pos' ( temp 3-element array of 3-component vector of float)
0:26 pos: direct index for structure ( temp 3-element array of 3-component vector of float)
0:26 'packed2' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})