Non-functional. Rationalizations enabling future generalizations:

- Use much simpler method to update implicit array sizes.
  The previous overly complicated method was error prone.
- Rationalize all use of unsized arrays.
- Combine decorations when generating SPIR-V, to simplify
  adding extensions.
This commit is contained in:
John Kessenich
2018-03-28 18:01:20 -06:00
parent 2316924b09
commit ead8622484
25 changed files with 563 additions and 583 deletions

View File

@@ -33,13 +33,13 @@ ERROR: node is still EOpNull!
0:35 GroupMemoryBarrier ( global void)
0:36 move second child to first child ( temp int)
0:36 value: direct index for structure (layout( column_major shared) buffer int)
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 1-element array of float values})
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer runtime-sized array of float values})
0:36 Constant:
0:36 0 (const uint)
0:36 Convert float to int ( temp int)
0:36 indirect index (layout( column_major shared) temp float)
0:36 values: direct index for structure (layout( column_major shared) buffer unsized 1-element array of float)
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 1-element array of float values})
0:36 values: direct index for structure (layout( column_major shared) buffer runtime-sized array of float)
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer runtime-sized array of float values})
0:36 Constant:
0:36 1 (const uint)
0:36 'gl_LocalInvocationIndex' ( in uint LocalInvocationIndex)
@@ -56,8 +56,8 @@ ERROR: node is still EOpNull!
0:65 Sequence
0:65 move second child to first child ( temp float)
0:65 direct index (layout( column_major shared) temp float)
0:65 values: direct index for structure (layout( column_major shared) buffer unsized 1-element array of float)
0:65 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 1-element array of float values})
0:65 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of float)
0:65 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 3-element array of float values})
0:65 Constant:
0:65 1 (const int)
0:65 Constant:
@@ -65,8 +65,8 @@ ERROR: node is still EOpNull!
0:65 Constant:
0:65 4.700000
0:66 array length ( temp int)
0:66 values: direct index for structure (layout( column_major shared) buffer unsized 1-element array of float)
0:66 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 1-element array of float values})
0:66 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of float)
0:66 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 3-element array of float values})
0:66 Constant:
0:66 1 (const int)
0:67 Barrier ( global void)
@@ -129,7 +129,7 @@ ERROR: node is still EOpNull!
0:? 4096 (const uint)
0:? 'total' ( const int)
0:? 66592 (const int)
0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 1-element array of float values})
0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer runtime-sized array of float values})
0:? 'invalid' (layout( column_major shared) buffer block{layout( column_major shared) buffer unsized 1-element array of float values, layout( column_major shared) buffer int value})
0:? 'v3' (layout( location=2) in 3-component vector of float)
0:? 'f' ( in float)
@@ -140,7 +140,7 @@ ERROR: node is still EOpNull!
0:? 'arrX' ( global 2-element array of int)
0:? 'arrY' ( global 1-element array of int)
0:? 'arrZ' ( global 4096-element array of int)
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 1-element array of float values})
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 3-element array of float values})
0:? 'roll' ( uniform double)
0:? 'destTex' ( writeonly uniform image2D)
0:? 'inbi' ( in block{ in int a})
@@ -165,13 +165,13 @@ ERROR: node is still EOpNull!
0:35 GroupMemoryBarrier ( global void)
0:36 move second child to first child ( temp int)
0:36 value: direct index for structure (layout( column_major shared) buffer int)
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 1-element array of float values})
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer runtime-sized array of float values})
0:36 Constant:
0:36 0 (const uint)
0:36 Convert float to int ( temp int)
0:36 indirect index (layout( column_major shared) temp float)
0:36 values: direct index for structure (layout( column_major shared) buffer unsized 1-element array of float)
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 1-element array of float values})
0:36 values: direct index for structure (layout( column_major shared) buffer runtime-sized array of float)
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer runtime-sized array of float values})
0:36 Constant:
0:36 1 (const uint)
0:36 'gl_LocalInvocationIndex' ( in uint LocalInvocationIndex)
@@ -190,8 +190,8 @@ ERROR: node is still EOpNull!
0:? 4096 (const uint)
0:? 'total' ( const int)
0:? 66592 (const int)
0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 1-element array of float values})
0:? 'invalid' (layout( column_major shared) buffer block{layout( column_major shared) buffer unsized 1-element array of float values, layout( column_major shared) buffer int value})
0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer runtime-sized array of float values})
0:? 'invalid' (layout( column_major shared) buffer block{layout( column_major shared) buffer 1-element array of float values, layout( column_major shared) buffer int value})
0:? 'v3' (layout( location=2) in 3-component vector of float)
0:? 'f' ( in float)
0:? 'fo' ( out float)
@@ -201,7 +201,7 @@ ERROR: node is still EOpNull!
0:? 'arrX' ( global 2-element array of int)
0:? 'arrY' ( global 1-element array of int)
0:? 'arrZ' ( global 4096-element array of int)
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 1-element array of float values})
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 3-element array of float values})
0:? 'roll' ( uniform double)
0:? 'destTex' ( writeonly uniform image2D)
0:? 'inbi' ( in block{ in int a})