HLSL: Allow use of $Global members in between function calls.

This allows global initializers to use $Global members.
This commit is contained in:
John Kessenich 2017-03-22 23:21:34 -06:00
parent 7a41f96d10
commit 000c818efb
53 changed files with 4566 additions and 4558 deletions

View file

@ -7,56 +7,56 @@ gl_FragCoord origin is upper left
0:? Sequence
0:44 imageLoad ( temp 4-component vector of float)
0:44 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D)
0:44 c1: direct index for structure (layout( offset=0) uniform int)
0:44 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:44 c1: direct index for structure ( uniform int)
0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:44 Constant:
0:44 0 (const uint)
0:45 imageLoad ( temp 4-component vector of int)
0:45 'g_tTex1di4' (layout( rgba32i) uniform iimage1D)
0:45 c1: direct index for structure (layout( offset=0) uniform int)
0:45 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:45 c1: direct index for structure ( uniform int)
0:45 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:45 Constant:
0:45 0 (const uint)
0:46 imageLoad ( temp 4-component vector of uint)
0:46 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D)
0:46 c1: direct index for structure (layout( offset=0) uniform int)
0:46 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:46 c1: direct index for structure ( uniform int)
0:46 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:46 Constant:
0:46 0 (const uint)
0:49 imageLoad ( temp 4-component vector of float)
0:49 'g_tTex2df4' (layout( rgba32f) uniform image2D)
0:49 c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
0:49 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:49 c2: direct index for structure ( uniform 2-component vector of int)
0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:49 Constant:
0:49 1 (const uint)
0:50 imageLoad ( temp 4-component vector of int)
0:50 'g_tTex2di4' (layout( rgba32i) uniform iimage2D)
0:50 c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
0:50 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:50 c2: direct index for structure ( uniform 2-component vector of int)
0:50 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:50 Constant:
0:50 1 (const uint)
0:51 imageLoad ( temp 4-component vector of uint)
0:51 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D)
0:51 c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
0:51 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:51 c2: direct index for structure ( uniform 2-component vector of int)
0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:51 Constant:
0:51 1 (const uint)
0:54 imageLoad ( temp 4-component vector of float)
0:54 'g_tTex3df4' (layout( rgba32f) uniform image3D)
0:54 c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
0:54 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:54 c3: direct index for structure ( uniform 3-component vector of int)
0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:54 Constant:
0:54 2 (const uint)
0:55 imageLoad ( temp 4-component vector of int)
0:55 'g_tTex3di4' (layout( rgba32i) uniform iimage3D)
0:55 c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
0:55 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:55 c3: direct index for structure ( uniform 3-component vector of int)
0:55 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:55 Constant:
0:55 2 (const uint)
0:56 imageLoad ( temp 4-component vector of uint)
0:56 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D)
0:56 c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
0:56 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:56 c3: direct index for structure ( uniform 3-component vector of int)
0:56 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:56 Constant:
0:56 2 (const uint)
0:58 move second child to first child ( temp 4-component vector of float)
@ -114,9 +114,9 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4a' (layout( rgba32f) uniform image2DArray)
0:? 'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray)
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Depth' ( out float FragDepth)
0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
Linked fragment stage:
@ -130,56 +130,56 @@ gl_FragCoord origin is upper left
0:? Sequence
0:44 imageLoad ( temp 4-component vector of float)
0:44 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D)
0:44 c1: direct index for structure (layout( offset=0) uniform int)
0:44 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:44 c1: direct index for structure ( uniform int)
0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:44 Constant:
0:44 0 (const uint)
0:45 imageLoad ( temp 4-component vector of int)
0:45 'g_tTex1di4' (layout( rgba32i) uniform iimage1D)
0:45 c1: direct index for structure (layout( offset=0) uniform int)
0:45 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:45 c1: direct index for structure ( uniform int)
0:45 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:45 Constant:
0:45 0 (const uint)
0:46 imageLoad ( temp 4-component vector of uint)
0:46 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D)
0:46 c1: direct index for structure (layout( offset=0) uniform int)
0:46 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:46 c1: direct index for structure ( uniform int)
0:46 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:46 Constant:
0:46 0 (const uint)
0:49 imageLoad ( temp 4-component vector of float)
0:49 'g_tTex2df4' (layout( rgba32f) uniform image2D)
0:49 c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
0:49 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:49 c2: direct index for structure ( uniform 2-component vector of int)
0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:49 Constant:
0:49 1 (const uint)
0:50 imageLoad ( temp 4-component vector of int)
0:50 'g_tTex2di4' (layout( rgba32i) uniform iimage2D)
0:50 c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
0:50 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:50 c2: direct index for structure ( uniform 2-component vector of int)
0:50 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:50 Constant:
0:50 1 (const uint)
0:51 imageLoad ( temp 4-component vector of uint)
0:51 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D)
0:51 c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
0:51 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:51 c2: direct index for structure ( uniform 2-component vector of int)
0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:51 Constant:
0:51 1 (const uint)
0:54 imageLoad ( temp 4-component vector of float)
0:54 'g_tTex3df4' (layout( rgba32f) uniform image3D)
0:54 c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
0:54 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:54 c3: direct index for structure ( uniform 3-component vector of int)
0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:54 Constant:
0:54 2 (const uint)
0:55 imageLoad ( temp 4-component vector of int)
0:55 'g_tTex3di4' (layout( rgba32i) uniform iimage3D)
0:55 c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
0:55 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:55 c3: direct index for structure ( uniform 3-component vector of int)
0:55 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:55 Constant:
0:55 2 (const uint)
0:56 imageLoad ( temp 4-component vector of uint)
0:56 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D)
0:56 c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
0:56 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
0:56 c3: direct index for structure ( uniform 3-component vector of int)
0:56 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:56 Constant:
0:56 2 (const uint)
0:58 move second child to first child ( temp 4-component vector of float)
@ -237,9 +237,9 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4a' (layout( rgba32f) uniform image2DArray)
0:? 'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray)
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4})
0:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Depth' ( out float FragDepth)
0:? 'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component vector of int o2, layout( offset=64) uniform 3-component vector of int o3, layout( offset=80) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001