Commit 906cc218 by John Kessenich

Linker: Eliminate uncalled functions, because they can be ill-defined.

Fixes issue #610. Also provides a testing option to keep uncalled functions.
parent bf6d7f43
...@@ -60,29 +60,30 @@ extern "C" { ...@@ -60,29 +60,30 @@ extern "C" {
// Command-line options // Command-line options
enum TOptions { enum TOptions {
EOptionNone = 0, EOptionNone = 0,
EOptionIntermediate = (1 << 0), EOptionIntermediate = (1 << 0),
EOptionSuppressInfolog = (1 << 1), EOptionSuppressInfolog = (1 << 1),
EOptionMemoryLeakMode = (1 << 2), EOptionMemoryLeakMode = (1 << 2),
EOptionRelaxedErrors = (1 << 3), EOptionRelaxedErrors = (1 << 3),
EOptionGiveWarnings = (1 << 4), EOptionGiveWarnings = (1 << 4),
EOptionLinkProgram = (1 << 5), EOptionLinkProgram = (1 << 5),
EOptionMultiThreaded = (1 << 6), EOptionMultiThreaded = (1 << 6),
EOptionDumpConfig = (1 << 7), EOptionDumpConfig = (1 << 7),
EOptionDumpReflection = (1 << 8), EOptionDumpReflection = (1 << 8),
EOptionSuppressWarnings = (1 << 9), EOptionSuppressWarnings = (1 << 9),
EOptionDumpVersions = (1 << 10), EOptionDumpVersions = (1 << 10),
EOptionSpv = (1 << 11), EOptionSpv = (1 << 11),
EOptionHumanReadableSpv = (1 << 12), EOptionHumanReadableSpv = (1 << 12),
EOptionVulkanRules = (1 << 13), EOptionVulkanRules = (1 << 13),
EOptionDefaultDesktop = (1 << 14), EOptionDefaultDesktop = (1 << 14),
EOptionOutputPreprocessed = (1 << 15), EOptionOutputPreprocessed = (1 << 15),
EOptionOutputHexadecimal = (1 << 16), EOptionOutputHexadecimal = (1 << 16),
EOptionReadHlsl = (1 << 17), EOptionReadHlsl = (1 << 17),
EOptionCascadingErrors = (1 << 18), EOptionCascadingErrors = (1 << 18),
EOptionAutoMapBindings = (1 << 19), EOptionAutoMapBindings = (1 << 19),
EOptionFlattenUniformArrays = (1 << 20), EOptionFlattenUniformArrays = (1 << 20),
EOptionNoStorageFormat = (1 << 21), EOptionNoStorageFormat = (1 << 21),
EOptionKeepUncalled = (1 << 21),
}; };
// //
...@@ -310,6 +311,9 @@ void ProcessArguments(int argc, char* argv[]) ...@@ -310,6 +311,9 @@ void ProcessArguments(int argc, char* argv[])
} else } else
Error("no <entry-point> provided for --source-entrypoint"); Error("no <entry-point> provided for --source-entrypoint");
break; break;
} else if (lowerword == "keep-uncalled" || // synonyms
lowerword == "ku") {
Options |= EOptionKeepUncalled;
} else { } else {
usage(); usage();
} }
...@@ -459,6 +463,8 @@ void SetMessageOptions(EShMessages& messages) ...@@ -459,6 +463,8 @@ void SetMessageOptions(EShMessages& messages)
messages = (EShMessages)(messages | EShMsgReadHlsl); messages = (EShMessages)(messages | EShMsgReadHlsl);
if (Options & EOptionCascadingErrors) if (Options & EOptionCascadingErrors)
messages = (EShMessages)(messages | EShMsgCascadingErrors); messages = (EShMessages)(messages | EShMsgCascadingErrors);
if (Options & EOptionKeepUncalled)
messages = (EShMessages)(messages | EShMsgKeepUncalled);
} }
// //
...@@ -978,6 +984,9 @@ void usage() ...@@ -978,6 +984,9 @@ void usage()
"\n" "\n"
" --source-entrypoint name the given shader source function is renamed to be the entry point given in -e\n" " --source-entrypoint name the given shader source function is renamed to be the entry point given in -e\n"
" --sep synonym for --source-entrypoint\n" " --sep synonym for --source-entrypoint\n"
"\n"
" --keep-uncalled don't eliminate uncalled functions when linking\n"
" --ku synonym for --keep-uncalled\n"
); );
exit(EFailUsage); exit(EFailUsage);
......
...@@ -507,123 +507,6 @@ ERROR: node is still EOpNull! ...@@ -507,123 +507,6 @@ ERROR: node is still EOpNull!
0:38 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a}) 0:38 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
0:38 true case is null 0:38 true case is null
0:40 'b' (temp mediump int) 0:40 'b' (temp mediump int)
0:54 Function Definition: foo10( (global void)
0:54 Function Parameters:
0:67 Function Definition: f11(s21; (global void)
0:67 Function Parameters:
0:67 'p2d' (in lowp sampler2D)
0:87 Function Definition: foo234( (global void)
0:87 Function Parameters:
0:89 Sequence
0:89 texture (global highp 4-component vector of float)
0:89 's3D2' (uniform highp sampler3D)
0:89 Constant:
0:89 0.200000
0:89 0.200000
0:89 0.200000
0:89 Constant:
0:89 0.200000
0:90 textureProj (global highp 4-component vector of float)
0:90 's3D2' (uniform highp sampler3D)
0:90 direct index (smooth temp mediump 4-component vector of float)
0:90 'v' (smooth in 3-element array of mediump 4-component vector of float)
0:90 Constant:
0:90 1 (const int)
0:90 Constant:
0:90 0.400000
0:91 dPdx (global mediump 4-component vector of float)
0:91 direct index (smooth temp mediump 4-component vector of float)
0:91 'v' (smooth in 3-element array of mediump 4-component vector of float)
0:91 Constant:
0:91 0 (const int)
0:92 Constant:
0:92 0.000000
0:93 fwidth (global mediump float)
0:93 'f13' (invariant global mediump float)
0:98 Function Definition: foo236( (global void)
0:98 Function Parameters:
0:100 Sequence
0:100 dPdx (global mediump 4-component vector of float)
0:100 direct index (smooth temp mediump 4-component vector of float)
0:100 'v' (smooth in 3-element array of mediump 4-component vector of float)
0:100 Constant:
0:100 0 (const int)
0:101 Constant:
0:101 0.000000
0:102 fwidth (global mediump float)
0:102 'f13' (invariant global mediump float)
0:103 move second child to first child (temp mediump float)
0:103 'gl_FragDepth' (temp mediump float)
0:103 'f13' (invariant global mediump float)
0:104 move second child to first child (temp highp float)
0:104 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
0:104 'f13' (invariant global mediump float)
0:109 Function Definition: foo239( (global void)
0:109 Function Parameters:
0:111 Sequence
0:111 move second child to first child (temp mediump float)
0:111 'gl_FragDepth' (temp mediump float)
0:111 'f13' (invariant global mediump float)
0:112 move second child to first child (temp highp float)
0:112 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
0:112 'f13' (invariant global mediump float)
0:119 Function Definition: foo245( (global void)
0:119 Function Parameters:
0:121 Sequence
0:121 texture (global lowp 4-component vector of float)
0:121 'sExt' (uniform lowp samplerExternalOES)
0:121 Constant:
0:121 0.200000
0:121 0.200000
0:122 textureProj (global lowp 4-component vector of float)
0:122 'sExt' (uniform lowp samplerExternalOES)
0:122 Construct vec3 (temp lowp 3-component vector of float)
0:122 'f13' (invariant global mediump float)
0:123 textureProj (global lowp 4-component vector of float, operation at mediump)
0:123 'sExt' (uniform lowp samplerExternalOES)
0:123 direct index (smooth temp mediump 4-component vector of float)
0:123 'v' (smooth in 3-element array of mediump 4-component vector of float)
0:123 Constant:
0:123 2 (const int)
0:130 Function Definition: foo246( (global void)
0:130 Function Parameters:
0:132 Sequence
0:132 texture (global mediump 4-component vector of float)
0:132 'mediumExt' (uniform mediump samplerExternalOES)
0:132 Constant:
0:132 0.200000
0:132 0.200000
0:133 textureProj (global highp 4-component vector of float)
0:133 'highExt' (uniform highp samplerExternalOES)
0:133 direct index (smooth temp mediump 4-component vector of float)
0:133 'v' (smooth in 3-element array of mediump 4-component vector of float)
0:133 Constant:
0:133 2 (const int)
0:134 Constant:
0:134 0.000000
0:135 Constant:
0:135 0.000000
0:137 Bitwise not (temp mediump int)
0:137 'a' (temp mediump int)
0:138 inclusive-or (temp mediump int)
0:138 'a' (temp mediump int)
0:138 'a' (temp mediump int)
0:139 bitwise and (temp mediump int)
0:139 'a' (temp mediump int)
0:139 'a' (temp mediump int)
0:145 Function Definition: foo203940(i1;f1;f1; (global mediump int)
0:145 Function Parameters:
0:145 'a' (in mediump int)
0:145 'b' (in mediump float)
0:147 Sequence
0:147 textureProjGrad (global lowp 4-component vector of float, operation at mediump)
0:147 's2Dg' (uniform lowp sampler2D)
0:147 Construct vec3 (temp mediump 3-component vector of float)
0:147 'f13' (invariant global mediump float)
0:147 'uv2' (invariant uniform mediump 2-component vector of float)
0:147 'uv2' (invariant uniform mediump 2-component vector of float)
0:148 Branch: Return with expression
0:148 'a' (in mediump int)
0:151 Sequence 0:151 Sequence
0:151 move second child to first child (temp mediump float) 0:151 move second child to first child (temp mediump float)
0:151 'f123' (global mediump float) 0:151 'f123' (global mediump float)
...@@ -634,75 +517,6 @@ ERROR: node is still EOpNull! ...@@ -634,75 +517,6 @@ ERROR: node is still EOpNull!
0:152 'f124' (global mediump float) 0:152 'f124' (global mediump float)
0:152 Constant: 0:152 Constant:
0:152 50000000000.000000 0:152 50000000000.000000
0:158 Function Definition: foo323433( (global void)
0:158 Function Parameters:
0:160 Sequence
0:160 textureLod (global lowp 4-component vector of float, operation at mediump)
0:160 's2Dg' (uniform lowp sampler2D)
0:160 'uv2' (invariant uniform mediump 2-component vector of float)
0:160 'f13' (invariant global mediump float)
0:161 textureProjGrad (global lowp 4-component vector of float, operation at mediump)
0:161 's2Dg' (uniform lowp sampler2D)
0:161 Construct vec3 (temp mediump 3-component vector of float)
0:161 'f13' (invariant global mediump float)
0:161 'uv2' (invariant uniform mediump 2-component vector of float)
0:161 'uv2' (invariant uniform mediump 2-component vector of float)
0:162 textureGrad (global lowp 4-component vector of float, operation at mediump)
0:162 's2Dg' (uniform lowp sampler2D)
0:162 'uv2' (invariant uniform mediump 2-component vector of float)
0:162 'uv2' (invariant uniform mediump 2-component vector of float)
0:162 'uv2' (invariant uniform mediump 2-component vector of float)
0:163 textureGrad (global lowp 4-component vector of float)
0:163 'sCube' (uniform lowp samplerCube)
0:163 Construct vec3 (temp lowp 3-component vector of float)
0:163 'f13' (invariant global mediump float)
0:163 Construct vec3 (temp lowp 3-component vector of float)
0:163 'f13' (invariant global mediump float)
0:163 Construct vec3 (temp lowp 3-component vector of float)
0:163 'f13' (invariant global mediump float)
0:167 Function Definition: fgfg(f1;i1; (global mediump int)
0:167 Function Parameters:
0:167 'f' (in mediump float)
0:167 'i' (in highp int)
0:167 Sequence
0:167 Branch: Return with expression
0:167 Constant:
0:167 2 (const int)
0:173 Function Definition: gggf(f1; (global mediump int)
0:173 Function Parameters:
0:173 'f' (in mediump float)
0:173 Sequence
0:173 Branch: Return with expression
0:173 Constant:
0:173 2 (const int)
0:175 Function Definition: agggf(f1; (global mediump int)
0:175 Function Parameters:
0:175 'f' (in mediump float)
0:175 Sequence
0:175 Branch: Return with expression
0:175 Constant:
0:175 2 (const int)
0:187 Function Definition: badswizzle( (global void)
0:187 Function Parameters:
0:? Sequence
0:190 'a' (temp 5-element array of mediump 3-component vector of float)
0:191 'a' (temp 5-element array of mediump 3-component vector of float)
0:192 'a' (temp 5-element array of mediump 3-component vector of float)
0:193 Constant:
0:193 5 (const int)
0:194 Constant:
0:194 0.000000
0:199 Function Definition: fooinittest( (global mediump float)
0:199 Function Parameters:
0:201 Sequence
0:201 Branch: Return with expression
0:201 Function Call: fooinit( (global mediump float)
0:209 Function Definition: fooinit( (global mediump float)
0:209 Function Parameters:
0:211 Sequence
0:211 Branch: Return with expression
0:211 Constant:
0:211 12.000000
0:214 Sequence 0:214 Sequence
0:214 move second child to first child (temp mediump int) 0:214 move second child to first child (temp mediump int)
0:214 'init1' (global mediump int) 0:214 'init1' (global mediump int)
......
...@@ -150,20 +150,6 @@ ERROR: node is still EOpNull! ...@@ -150,20 +150,6 @@ ERROR: node is still EOpNull!
0:8 1.000000 0:8 1.000000
0:11 Branch: Return with expression 0:11 Branch: Return with expression
0:11 'a' (in highp int) 0:11 'a' (in highp int)
0:25 Function Definition: cos(f1; (global highp float)
0:25 Function Parameters:
0:25 'x' (in highp float)
0:27 Sequence
0:27 Branch: Return with expression
0:27 Constant:
0:27 1.000000
0:29 Function Definition: radians(b1; (global bool)
0:29 Function Parameters:
0:29 'x' (in bool)
0:31 Sequence
0:31 Branch: Return with expression
0:31 Constant:
0:31 true (const bool)
0:36 Function Definition: main( (global void) 0:36 Function Definition: main( (global void)
0:36 Function Parameters: 0:36 Function Parameters:
0:? Sequence 0:? Sequence
......
...@@ -154,20 +154,6 @@ ERROR: node is still EOpNull! ...@@ -154,20 +154,6 @@ ERROR: node is still EOpNull!
0:8 1.000000 0:8 1.000000
0:11 Branch: Return with expression 0:11 Branch: Return with expression
0:11 'a' (in int) 0:11 'a' (in int)
0:25 Function Definition: cos(f1; (global float)
0:25 Function Parameters:
0:25 'x' (in float)
0:27 Sequence
0:27 Branch: Return with expression
0:27 Constant:
0:27 1.000000
0:29 Function Definition: radians(b1; (global bool)
0:29 Function Parameters:
0:29 'x' (in bool)
0:31 Sequence
0:31 Branch: Return with expression
0:31 Constant:
0:31 true (const bool)
0:34 Sequence 0:34 Sequence
0:34 move second child to first child (temp int) 0:34 move second child to first child (temp int)
0:34 'gi' (global int) 0:34 'gi' (global int)
......
...@@ -269,23 +269,6 @@ ERROR: node is still EOpNull! ...@@ -269,23 +269,6 @@ ERROR: node is still EOpNull!
0:46 1 (const int) 0:46 1 (const int)
0:46 Constant: 0:46 Constant:
0:46 0.300000 0:46 0.300000
0:57 Function Definition: foo88( (global void)
0:57 Function Parameters:
0:? Sequence
0:61 'id' (temp int)
0:63 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
0:64 'gl_Color' (in 4-component vector of float Color)
0:65 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
0:65 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
0:65 Constant:
0:65 0 (const int)
0:66 far: direct index for structure (global float)
0:66 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})
0:66 Constant:
0:66 1 (const int)
0:67 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
0:68 'gl_FogFragCoord' (smooth out float FogFragCoord)
0:69 'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
0:? Linker Objects 0:? Linker Objects
0:? 'c' (uniform int) 0:? 'c' (uniform int)
0:? 'us2D' (uniform usampler2D) 0:? 'us2D' (uniform usampler2D)
......
...@@ -136,51 +136,6 @@ ERROR: node is still EOpNull! ...@@ -136,51 +136,6 @@ ERROR: node is still EOpNull!
0:22 'patch' (global float) 0:22 'patch' (global float)
0:22 Constant: 0:22 Constant:
0:22 3.100000 0:22 3.100000
0:38 Function Definition: foo( (global void)
0:38 Function Parameters:
0:40 Sequence
0:40 Sequence
0:40 move second child to first child (temp 2-component vector of float)
0:40 'r1' (temp 2-component vector of float)
0:40 modf (global 2-component vector of float)
0:40 vector swizzle (temp 2-component vector of float)
0:40 'v' (smooth in 4-component vector of float)
0:40 Sequence
0:40 Constant:
0:40 0 (const int)
0:40 Constant:
0:40 1 (const int)
0:40 vector swizzle (temp 2-component vector of float)
0:40 'v' (smooth in 4-component vector of float)
0:40 Sequence
0:40 Constant:
0:40 2 (const int)
0:40 Constant:
0:40 3 (const int)
0:41 Sequence
0:41 move second child to first child (temp 2-component vector of float)
0:41 'r2' (temp 2-component vector of float)
0:41 modf (global 2-component vector of float)
0:41 vector swizzle (temp 2-component vector of float)
0:41 'o' (out 4-component vector of float)
0:41 Sequence
0:41 Constant:
0:41 0 (const int)
0:41 Constant:
0:41 1 (const int)
0:41 vector swizzle (temp 2-component vector of float)
0:41 'o' (out 4-component vector of float)
0:41 Sequence
0:41 Constant:
0:41 2 (const int)
0:41 Constant:
0:41 3 (const int)
0:42 move second child to first child (temp float)
0:42 direct index (temp float)
0:42 'o' (out 4-component vector of float)
0:42 Constant:
0:42 2 (const int)
0:42 Function Call: fooi( (global float)
0:47 Sequence 0:47 Sequence
0:47 move second child to first child (temp float) 0:47 move second child to first child (temp float)
0:47 'i1' (global float) 0:47 'i1' (global float)
...@@ -198,13 +153,6 @@ ERROR: node is still EOpNull! ...@@ -198,13 +153,6 @@ ERROR: node is still EOpNull!
0:48 'i2' (global float) 0:48 'i2' (global float)
0:48 Constant: 0:48 Constant:
0:48 102.000000 0:48 102.000000
0:50 Function Definition: fooi( (global float)
0:50 Function Parameters:
0:52 Sequence
0:52 Branch: Return with expression
0:52 add (temp float)
0:52 'i1' (global float)
0:52 'i2' (global float)
0:? Linker Objects 0:? Linker Objects
0:? 'v' (smooth in 4-component vector of float) 0:? 'v' (smooth in 4-component vector of float)
0:? 'i' (smooth in 4-component vector of float) 0:? 'i' (smooth in 4-component vector of float)
......
...@@ -178,71 +178,6 @@ ERROR: node is still EOpNull! ...@@ -178,71 +178,6 @@ ERROR: node is still EOpNull!
0:18 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord) 0:18 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
0:19 'gl_FogFragCoord' (smooth out float FogFragCoord) 0:19 'gl_FogFragCoord' (smooth out float FogFragCoord)
0:20 'gl_FrontColor' (smooth out 4-component vector of float FrontColor) 0:20 'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
0:48 Function Definition: foo( (global void)
0:48 Function Parameters:
0:50 Sequence
0:50 Sequence
0:50 move second child to first child (temp 4-component vector of float)
0:50 'v' (temp 4-component vector of float)
0:50 textureFetch (global 4-component vector of float)
0:50 's2dr' (uniform sampler2DRect)
0:50 'itloc2' (in 2-component vector of int)
0:51 add second child into first child (temp 4-component vector of float)
0:51 'v' (temp 4-component vector of float)
0:51 Constant:
0:51 0.000000
0:52 add second child into first child (temp 4-component vector of float)
0:52 'v' (temp 4-component vector of float)
0:52 texture (global 4-component vector of float)
0:52 's2dr' (uniform sampler2DRect)
0:52 'tloc2' (in 2-component vector of float)
0:53 add second child into first child (temp 4-component vector of float)
0:53 'v' (temp 4-component vector of float)
0:53 Constant:
0:53 0.000000
0:54 add second child into first child (temp 4-component vector of float)
0:54 'v' (temp 4-component vector of float)
0:54 texture (global float)
0:54 's2drs' (uniform sampler2DRectShadow)
0:54 'tloc3' (in 3-component vector of float)
0:55 add second child into first child (temp 4-component vector of float)
0:55 'v' (temp 4-component vector of float)
0:55 textureProj (global 4-component vector of float)
0:55 's2dr' (uniform sampler2DRect)
0:55 'tloc3' (in 3-component vector of float)
0:56 add second child into first child (temp 4-component vector of float)
0:56 'v' (temp 4-component vector of float)
0:56 textureProj (global 4-component vector of float)
0:56 's2dr' (uniform sampler2DRect)
0:56 'tloc4' (in 4-component vector of float)
0:57 add second child into first child (temp 4-component vector of float)
0:57 'v' (temp 4-component vector of float)
0:57 textureProjGradOffset (global 4-component vector of float)
0:57 's2dr' (uniform sampler2DRect)
0:57 'tloc4' (in 4-component vector of float)
0:57 Constant:
0:57 0.000000
0:57 0.000000
0:57 Constant:
0:57 0.000000
0:57 0.000000
0:57 Constant:
0:57 1 (const int)
0:57 2 (const int)
0:58 add second child into first child (temp 4-component vector of float)
0:58 'v' (temp 4-component vector of float)
0:58 textureProjGradOffset (global float)
0:58 's2drs' (uniform sampler2DRectShadow)
0:58 'tloc4' (in 4-component vector of float)
0:58 Constant:
0:58 0.000000
0:58 0.000000
0:58 Constant:
0:58 0.000000
0:58 0.000000
0:58 Constant:
0:58 1 (const int)
0:58 2 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'sbuf' (uniform isamplerBuffer) 0:? 'sbuf' (uniform isamplerBuffer)
0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem}) 0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})
......
...@@ -141,90 +141,6 @@ ERROR: node is still EOpNull! ...@@ -141,90 +141,6 @@ ERROR: node is still EOpNull!
0:18 'patch' (global float) 0:18 'patch' (global float)
0:18 Constant: 0:18 Constant:
0:18 3.100000 0:18 3.100000
0:31 Function Definition: barWxyz( (global void)
0:31 Function Parameters:
0:33 Sequence
0:33 Sequence
0:33 move second child to first child (temp 2-component vector of int)
0:33 't11' (temp 2-component vector of int)
0:33 textureSize (global 2-component vector of int)
0:33 'sms' (uniform sampler2DMS)
0:34 Sequence
0:34 move second child to first child (temp 2-component vector of int)
0:34 't12' (temp 2-component vector of int)
0:34 textureSize (global 2-component vector of int)
0:34 'isms' (uniform isampler2DMS)
0:35 Sequence
0:35 move second child to first child (temp 2-component vector of int)
0:35 't13' (temp 2-component vector of int)
0:35 textureSize (global 2-component vector of int)
0:35 'usms' (uniform usampler2DMS)
0:36 Sequence
0:36 move second child to first child (temp 3-component vector of int)
0:36 't21' (temp 3-component vector of int)
0:36 textureSize (global 3-component vector of int)
0:36 'smsa' (uniform sampler2DMSArray)
0:37 Sequence
0:37 move second child to first child (temp 3-component vector of int)
0:37 't22' (temp 3-component vector of int)
0:37 textureSize (global 3-component vector of int)
0:37 'ismsa' (uniform isampler2DMSArray)
0:38 Sequence
0:38 move second child to first child (temp 3-component vector of int)
0:38 't23' (temp 3-component vector of int)
0:38 textureSize (global 3-component vector of int)
0:38 'usmsa' (uniform usampler2DMSArray)
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 't31' (temp 4-component vector of float)
0:39 textureFetch (global 4-component vector of float)
0:39 'sms' (uniform sampler2DMS)
0:39 'p2' (flat in 2-component vector of int)
0:39 'samp' (flat in int)
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 't32' (temp 4-component vector of int)
0:40 textureFetch (global 4-component vector of int)
0:40 'isms' (uniform isampler2DMS)
0:40 'p2' (flat in 2-component vector of int)
0:40 'samp' (flat in int)
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 't33' (temp 4-component vector of uint)
0:41 textureFetch (global 4-component vector of uint)
0:41 'usms' (uniform usampler2DMS)
0:41 'p2' (flat in 2-component vector of int)
0:41 Constant:
0:41 3 (const int)
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of float)
0:42 't41' (temp 4-component vector of float)
0:42 textureFetch (global 4-component vector of float)
0:42 'smsa' (uniform sampler2DMSArray)
0:42 'p3' (flat in 3-component vector of int)
0:42 'samp' (flat in int)
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of int)
0:43 't42' (temp 4-component vector of int)
0:43 textureFetch (global 4-component vector of int)
0:43 'ismsa' (uniform isampler2DMSArray)
0:43 Constant:
0:43 2 (const int)
0:43 2 (const int)
0:43 2 (const int)
0:43 'samp' (flat in int)
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of uint)
0:44 't43' (temp 4-component vector of uint)
0:44 textureFetch (global 4-component vector of uint)
0:44 'usmsa' (uniform usampler2DMSArray)
0:44 'p3' (flat in 3-component vector of int)
0:44 'samp' (flat in int)
0:47 Function Definition: primitiveID( (global int)
0:47 Function Parameters:
0:49 Sequence
0:49 Branch: Return with expression
0:49 'gl_PrimitiveID' (flat in int PrimitiveID)
0:? Linker Objects 0:? Linker Objects
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) 0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:? 'foo' (smooth in 4-component vector of float) 0:? 'foo' (smooth in 4-component vector of float)
......
...@@ -255,39 +255,11 @@ ERROR: node is still EOpNull! ...@@ -255,39 +255,11 @@ ERROR: node is still EOpNull!
0:37 'gl_Layer' (layout(stream=0 ) out int Layer) 0:37 'gl_Layer' (layout(stream=0 ) out int Layer)
0:37 Constant: 0:37 Constant:
0:37 2 (const int) 0:37 2 (const int)
0:67 Function Definition: foo(i1; (global void)
0:67 Function Parameters:
0:67 'a' (in int)
0:69 Sequence
0:69 move second child to first child (temp 4-component vector of float)
0:69 a: direct index for structure (layout(stream=6 ) out 4-component vector of float)
0:69 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
0:69 Constant:
0:69 0 (const int)
0:69 Constant:
0:69 1.000000
0:69 1.000000
0:69 1.000000
0:69 1.000000
0:107 Sequence 0:107 Sequence
0:107 move second child to first child (temp float) 0:107 move second child to first child (temp float)
0:107 'summ' (global float) 0:107 'summ' (global float)
0:107 Constant: 0:107 Constant:
0:107 11332.000000 0:107 11332.000000
0:127 Function Definition: fooe1( (global void)
0:127 Function Parameters:
0:129 Sequence
0:129 move second child to first child (temp int)
0:129 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
0:129 Constant:
0:129 15 (const int)
0:134 Function Definition: fooe2( (global void)
0:134 Function Parameters:
0:136 Sequence
0:136 move second child to first child (temp int)
0:136 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
0:136 Constant:
0:136 15 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'fromV' (in 4-element array of block{in 3-component vector of float color}) 0:? 'fromV' (in 4-element array of block{in 3-component vector of float color})
0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color}) 0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
......
...@@ -1189,35 +1189,6 @@ vertices = 4 ...@@ -1189,35 +1189,6 @@ vertices = 4
0:56 Barrier (global void) 0:56 Barrier (global void)
0:59 Branch: Return 0:59 Branch: Return
0:61 Barrier (global void) 0:61 Barrier (global void)
0:67 Function Definition: foo( (global void)
0:67 Function Parameters:
0:69 Sequence
0:69 gl_PointSize: direct index for structure (out float PointSize)
0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
0:69 Constant:
0:69 4 (const int)
0:69 Constant:
0:69 1 (const int)
0:71 Barrier (global void)
0:91 Function Definition: foop( (global void)
0:91 Function Parameters:
0:? Sequence
0:95 multiply second child into first child (temp 3-component vector of float)
0:95 'pv3' (noContraction temp 3-component vector of float)
0:95 'pv3' (noContraction temp 3-component vector of float)
0:96 move second child to first child (temp 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:96 fma (global 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:97 move second child to first child (temp double)
0:97 'd' (noContraction temp double)
0:97 fma (global double)
0:97 'd' (noContraction temp double)
0:97 'd' (noContraction temp double)
0:97 'd' (noContraction temp double)
0:8 Function Definition: main( (global void) 0:8 Function Definition: main( (global void)
0:8 Function Parameters: 0:8 Function Parameters:
0:15 Function Definition: main( (global void) 0:15 Function Definition: main( (global void)
...@@ -1279,41 +1250,6 @@ vertices = 4 ...@@ -1279,41 +1250,6 @@ vertices = 4
0:26 indirect index (temp block{out 4-component vector of float Position gl_Position}) 0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position}) 0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
0:26 'gl_InvocationID' (in int InvocationID) 0:26 'gl_InvocationID' (in int InvocationID)
0:34 Function Definition: foo( (global void)
0:34 Function Parameters:
0:36 Sequence
0:36 Test condition and select (temp void)
0:36 Condition
0:36 logical-or (temp bool)
0:36 Compare Not Equal (temp bool)
0:36 Constant:
0:36 -0.625000
0:36 -0.500000
0:36 -0.375000
0:36 -0.250000
0:36 -0.375000
0:36 -0.250000
0:36 -0.125000
0:36 0.000000
0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
0:36 Constant:
0:36 0 (const int)
0:37 Compare Not Equal (temp bool)
0:37 Constant:
0:37 0.375000
0:37 0.500000
0:37 0.625000
0:37 0.750000
0:37 0.625000
0:37 0.750000
0:37 0.875000
0:37 -0.625000
0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
0:37 Constant:
0:37 0 (const int)
0:36 true case is null
0:? Linker Objects 0:? Linker Objects
0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) 0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
0:? 'outa' (global 4-element array of int) 0:? 'outa' (global 4-element array of int)
......
...@@ -592,131 +592,6 @@ ERROR: node is still EOpNull! ...@@ -592,131 +592,6 @@ ERROR: node is still EOpNull!
0:96 'c4D' (smooth temp lowp 4-component vector of float) 0:96 'c4D' (smooth temp lowp 4-component vector of float)
0:97 arc hyp. tangent (global lowp 3-component vector of float) 0:97 arc hyp. tangent (global lowp 3-component vector of float)
0:97 'c3D' (smooth in lowp 3-component vector of float) 0:97 'c3D' (smooth in lowp 3-component vector of float)
0:108 Function Definition: foo( (global void)
0:108 Function Parameters:
0:110 Sequence
0:110 move second child to first child (temp lowp 4-component vector of float)
0:110 direct index (temp lowp 4-component vector of float)
0:110 'colors' (out 4-element array of lowp 4-component vector of float)
0:110 Constant:
0:110 2 (const int)
0:110 'c4D' (smooth temp lowp 4-component vector of float)
0:111 move second child to first child (temp lowp 4-component vector of float)
0:111 indirect index (temp lowp 4-component vector of float)
0:111 'colors' (out 4-element array of lowp 4-component vector of float)
0:111 'ic1D' (flat in mediump int)
0:111 'c4D' (smooth temp lowp 4-component vector of float)
0:117 Function Definition: foo13(struct-s-i1-s211; (global void)
0:117 Function Parameters:
0:117 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
0:119 Sequence
0:119 Test condition and select (temp void)
0:119 Condition
0:119 Compare Equal (temp bool)
0:119 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
0:119 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
0:119 true case is null
0:120 Test condition and select (temp void)
0:120 Condition
0:120 Compare Not Equal (temp bool)
0:120 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
0:120 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
0:120 true case is null
0:121 Constant:
0:121 false (const bool)
0:122 move second child to first child (temp structure{global mediump int i, global lowp sampler2D s})
0:122 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
0:122 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
0:123 Compare Equal (temp bool)
0:123 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
0:123 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
0:126 Function Definition: foo23( (global void)
0:126 Function Parameters:
0:128 Sequence
0:128 textureOffset (global lowp float)
0:128 's2DShadow' (uniform lowp sampler2DShadow)
0:128 'c3D' (smooth in lowp 3-component vector of float)
0:128 Constant:
0:128 -8 (const int)
0:128 7 (const int)
0:128 'c1D' (smooth in lowp float)
0:129 textureOffset (global lowp float)
0:129 's2DShadow' (uniform lowp sampler2DShadow)
0:129 'c3D' (smooth in lowp 3-component vector of float)
0:129 Constant:
0:129 -9 (const int)
0:129 8 (const int)
0:129 'c1D' (smooth in lowp float)
0:132 Function Definition: foo324( (global void)
0:132 Function Parameters:
0:134 Sequence
0:134 Sequence
0:134 move second child to first child (temp lowp float)
0:134 'p' (temp lowp float)
0:134 Constant:
0:134 210.712306
0:135 add second child into first child (temp lowp float)
0:135 'p' (temp lowp float)
0:135 Constant:
0:135 0.389418
0:136 add second child into first child (temp lowp float)
0:136 'p' (temp lowp float)
0:136 Constant:
0:136 5.000000
0:137 add second child into first child (temp lowp float)
0:137 'p' (temp lowp float)
0:137 Constant:
0:137 13.000000
0:138 Sequence
0:138 move second child to first child (temp lowp 3-component vector of float)
0:138 'c3' (temp lowp 3-component vector of float)
0:138 Constant:
0:138 -15.000000
0:138 -2.000000
0:138 39.000000
0:139 add second child into first child (temp lowp 3-component vector of float)
0:139 'c3' (temp lowp 3-component vector of float)
0:139 Constant:
0:139 -1.000000
0:139 -2.000000
0:139 -3.000000
0:140 add second child into first child (temp lowp 3-component vector of float)
0:140 'c3' (temp lowp 3-component vector of float)
0:140 Constant:
0:140 1.000000
0:140 2.000000
0:140 3.000000
0:141 Sequence
0:141 move second child to first child (temp lowp 2-component vector of float)
0:141 'c2' (temp lowp 2-component vector of float)
0:141 Constant:
0:141 1.000000
0:141 -3.000000
0:142 add second child into first child (temp lowp 2-component vector of float)
0:142 'c2' (temp lowp 2-component vector of float)
0:142 Constant:
0:142 1.000000
0:142 -3.000000
0:143 add second child into first child (temp lowp 2-component vector of float)
0:143 'c2' (temp lowp 2-component vector of float)
0:143 Constant:
0:143 3.000000
0:143 -8.544004
0:144 add second child into first child (temp lowp 2-component vector of float)
0:144 'c2' (temp lowp 2-component vector of float)
0:144 Constant:
0:144 0.000000
0:144 0.000000
0:145 Sequence
0:145 move second child to first child (temp lowp 3X2 matrix of float)
0:145 'm32' (temp lowp 3X2 matrix of float)
0:145 Constant:
0:145 10.000000
0:145 15.000000
0:145 14.000000
0:145 21.000000
0:145 22.000000
0:145 33.000000
0:? Linker Objects 0:? Linker Objects
0:? 's2D' (uniform lowp sampler2D) 0:? 's2D' (uniform lowp sampler2D)
0:? 's3D' (uniform lowp sampler3D) 0:? 's3D' (uniform lowp sampler3D)
......
...@@ -447,132 +447,6 @@ ERROR: node is still EOpNull! ...@@ -447,132 +447,6 @@ ERROR: node is still EOpNull!
0:68 Constant: 0:68 Constant:
0:68 3.000000 0:68 3.000000
0:68 4.000000 0:68 4.000000
0:71 Function Definition: newVFun( (global void)
0:71 Function Parameters:
0:73 Sequence
0:73 move second child to first child (temp highp 3-component vector of float)
0:73 'newV' (smooth out highp 3-component vector of float)
0:73 'v3' (in highp 3-component vector of float)
0:118 Function Definition: foo23( (global void)
0:118 Function Parameters:
0:120 Sequence
0:120 Sequence
0:120 move second child to first child (temp highp 2-component vector of int)
0:120 'x1' (temp highp 2-component vector of int)
0:120 textureSize (global highp 2-component vector of int, operation at lowp)
0:120 's2D' (uniform lowp sampler2D)
0:120 Constant:
0:120 2 (const int)
0:121 Constant:
0:121 0.000000
0:122 Sequence
0:122 move second child to first child (temp highp 3-component vector of int)
0:122 'x3' (temp highp 3-component vector of int)
0:122 textureSize (global highp 3-component vector of int, operation at lowp)
0:122 's2DAS' (uniform lowp sampler2DArrayShadow)
0:122 Constant:
0:122 -1 (const int)
0:123 Constant:
0:123 0.000000
0:124 Sequence
0:124 move second child to first child (temp highp 4-component vector of float)
0:124 'x4' (temp highp 4-component vector of float)
0:124 texture (global lowp 4-component vector of float, operation at highp)
0:124 's2D' (uniform lowp sampler2D)
0:124 'c2D' (in highp 2-component vector of float)
0:125 Constant:
0:125 0.000000
0:126 Sequence
0:126 move second child to first child (temp highp 4-component vector of float)
0:126 'x5' (temp highp 4-component vector of float)
0:126 textureProjOffset (global lowp 4-component vector of float)
0:126 's3D' (uniform lowp sampler3D)
0:126 Constant:
0:126 0.200000
0:126 0.200000
0:126 0.200000
0:126 0.200000
0:126 Constant:
0:126 1 (const int)
0:126 1 (const int)
0:126 1 (const int)
0:127 Constant:
0:127 0.000000
0:128 Sequence
0:128 move second child to first child (temp highp float)
0:128 'x6' (temp highp float)
0:128 textureProjGradOffset (global lowp float, operation at highp)
0:128 's2DS' (uniform lowp sampler2DShadow)
0:128 'invIn' (invariant in highp 4-component vector of float)
0:128 Constant:
0:128 4.200000
0:128 4.200000
0:128 Constant:
0:128 5.300000
0:128 5.300000
0:128 Constant:
0:128 1 (const int)
0:128 1 (const int)
0:137 Function Definition: foo2349( (global void)
0:137 Function Parameters:
0:139 Sequence
0:139 Sequence
0:139 move second child to first child (temp 3-element array of highp float)
0:139 'x' (temp 3-element array of highp float)
0:139 Constant:
0:139 1.000000
0:139 2.000000
0:139 3.000000
0:140 Sequence
0:140 move second child to first child (temp 3-element array of highp float)
0:140 'y' (temp 3-element array of highp float)
0:140 'x' (temp 3-element array of highp float)
0:141 Sequence
0:141 move second child to first child (temp 3-element array of highp float)
0:141 'z' (temp 3-element array of highp float)
0:141 'x' (temp 3-element array of highp float)
0:143 move second child to first child (temp 3-element array of highp float)
0:143 'w' (temp 3-element array of highp float)
0:143 'y' (temp 3-element array of highp float)
0:155 Function Definition: gggf(f1; (global highp int)
0:155 Function Parameters:
0:155 'f' (in highp float)
0:155 Sequence
0:155 Branch: Return with expression
0:155 Constant:
0:155 2 (const int)
0:158 Function Definition: agggf(f1; (global highp int)
0:158 Function Parameters:
0:158 'f' (in highp float)
0:158 Sequence
0:158 Branch: Return with expression
0:158 Constant:
0:158 2 (const int)
0:178 Function Definition: fooDeeparray( (global void)
0:178 Function Parameters:
0:181 Sequence
0:181 Sequence
0:180 move second child to first child (temp 3-element array of highp float)
0:180 'x' (temp 3-element array of highp float)
0:180 Constant:
0:180 1.000000
0:180 2.000000
0:180 3.000000
0:181 move second child to first child (temp 4-element array of highp float)
0:181 'y' (temp 4-element array of highp float)
0:181 Constant:
0:181 1.000000
0:181 2.000000
0:181 3.000000
0:181 4.000000
0:183 move second child to first child (temp 3-element array of highp float)
0:183 'xp' (temp 3-element array of highp float)
0:183 'x' (temp 3-element array of highp float)
0:184 move second child to first child (temp 4-element array of highp float)
0:184 'yp' (temp 4-element array of highp float)
0:184 'y' (temp 4-element array of highp float)
0:185 'xp' (temp 3-element array of highp float)
0:186 'yp' (temp 4-element array of highp float)
0:? Linker Objects 0:? Linker Objects
0:? 'm43' (uniform highp 4X3 matrix of float) 0:? 'm43' (uniform highp 4X3 matrix of float)
0:? 'm33' (uniform highp 3X3 matrix of float) 0:? 'm33' (uniform highp 3X3 matrix of float)
......
...@@ -153,16 +153,6 @@ ERROR: node is still EOpNull! ...@@ -153,16 +153,6 @@ ERROR: node is still EOpNull!
0:8 1.000000 0:8 1.000000
0:11 Branch: Return with expression 0:11 Branch: Return with expression
0:11 'a' (in highp int) 0:11 'a' (in highp int)
0:25 Function Definition: cos(f1; (global highp float)
0:25 Function Parameters:
0:25 'x' (in highp float)
0:27 Sequence
0:27 Branch: Return
0:29 Function Definition: radians(b1; (global bool)
0:29 Function Parameters:
0:29 'x' (in bool)
0:31 Sequence
0:31 Branch: Return
0:36 Function Definition: main( (global void) 0:36 Function Definition: main( (global void)
0:36 Function Parameters: 0:36 Function Parameters:
0:? Sequence 0:? Sequence
......
...@@ -250,74 +250,6 @@ ERROR: node is still EOpNull! ...@@ -250,74 +250,6 @@ ERROR: node is still EOpNull!
0:52 'gl_Layer' (layout(stream=0 ) out highp int Layer) 0:52 'gl_Layer' (layout(stream=0 ) out highp int Layer)
0:52 Constant: 0:52 Constant:
0:52 2 (const int) 0:52 2 (const int)
0:63 Function Definition: foo(i1; (global void)
0:63 Function Parameters:
0:63 'a' (in highp int)
0:65 Sequence
0:65 move second child to first child (temp mediump 4-component vector of float)
0:65 a: direct index for structure (layout(stream=0 ) out mediump 4-component vector of float)
0:65 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
0:65 Constant:
0:65 0 (const int)
0:65 Constant:
0:65 1.000000
0:65 1.000000
0:65 1.000000
0:65 1.000000
0:114 Function Definition: fooe1( (global void)
0:114 Function Parameters:
0:116 Sequence
0:116 'gl_ViewportIndex' (temp float)
0:117 'gl_MaxViewports' (temp float)
0:118 Constant:
0:118 4 (const int)
0:119 Sequence
0:119 move second child to first child (temp highp int)
0:119 'inv' (temp highp int)
0:119 'gl_InvocationID' (in highp int InvocationID)
0:134 Function Definition: notHere( (global void)
0:134 Function Parameters:
0:136 Sequence
0:136 'gl_MaxGeometryVaryingComponents' (temp float)
0:137 'gl_VerticesIn' (temp float)
0:140 Function Definition: pointSize1( (global void)
0:140 Function Parameters:
0:142 Sequence
0:142 Sequence
0:142 move second child to first child (temp highp float)
0:142 'ps' (temp highp float)
0:142 gl_PointSize: direct index for structure (in highp float PointSize)
0:142 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:142 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:142 Constant:
0:142 3 (const int)
0:142 Constant:
0:142 1 (const int)
0:143 move second child to first child (temp highp float)
0:143 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
0:143 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
0:143 Constant:
0:143 1 (const uint)
0:143 'ps' (temp highp float)
0:148 Function Definition: pointSize2( (global void)
0:148 Function Parameters:
0:150 Sequence
0:150 Sequence
0:150 move second child to first child (temp highp float)
0:150 'ps' (temp highp float)
0:150 gl_PointSize: direct index for structure (in highp float PointSize)
0:150 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:150 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:150 Constant:
0:150 3 (const int)
0:150 Constant:
0:150 1 (const int)
0:151 move second child to first child (temp highp float)
0:151 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
0:151 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
0:151 Constant:
0:151 1 (const uint)
0:151 'ps' (temp highp float)
0:? Linker Objects 0:? Linker Objects
0:? 'fromV' (in 4-element array of block{in mediump 3-component vector of float color}) 0:? 'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
0:? 'nonBlockUnsized' (in 4-element array of mediump 4-component vector of float) 0:? 'nonBlockUnsized' (in 4-element array of mediump 4-component vector of float)
......
...@@ -514,172 +514,6 @@ ERROR: node is still EOpNull! ...@@ -514,172 +514,6 @@ ERROR: node is still EOpNull!
0:58 Barrier (global void) 0:58 Barrier (global void)
0:61 Branch: Return 0:61 Branch: Return
0:63 Barrier (global void) 0:63 Barrier (global void)
0:69 Function Definition: foo( (global void)
0:69 Function Parameters:
0:71 Sequence
0:71 gl_Position: direct index for structure (out highp 4-component vector of float Position)
0:71 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:71 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:71 Constant:
0:71 4 (const int)
0:71 Constant:
0:71 0 (const int)
0:73 Barrier (global void)
0:92 Function Definition: foop( (global void)
0:92 Function Parameters:
0:? Sequence
0:95 move second child to first child (temp highp float)
0:95 'd' (noContraction temp highp float)
0:95 fma (global highp float)
0:95 'd' (noContraction temp highp float)
0:95 'd' (noContraction temp highp float)
0:95 'd' (noContraction temp highp float)
0:112 Function Definition: pointSize2( (global void)
0:112 Function Parameters:
0:114 Sequence
0:114 Sequence
0:114 move second child to first child (temp highp float)
0:114 'ps' (temp highp float)
0:114 gl_PointSize: direct index for structure (in highp float PointSize)
0:114 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:114 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:114 Constant:
0:114 1 (const int)
0:114 Constant:
0:114 1 (const int)
0:115 move second child to first child (temp highp float)
0:115 gl_PointSize: direct index for structure (out highp float PointSize)
0:115 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:115 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:115 'gl_InvocationID' (in highp int InvocationID)
0:115 Constant:
0:115 1 (const int)
0:115 'ps' (temp highp float)
0:122 Function Definition: goodfoop( (global void)
0:122 Function Parameters:
0:? Sequence
0:126 multiply second child into first child (temp highp 3-component vector of float)
0:126 'pv3' (noContraction temp highp 3-component vector of float)
0:126 'pv3' (noContraction temp highp 3-component vector of float)
0:127 move second child to first child (temp highp 3-component vector of float)
0:127 'pv3' (noContraction temp highp 3-component vector of float)
0:127 fma (global highp 3-component vector of float)
0:127 'pv3' (noContraction temp highp 3-component vector of float)
0:127 'pv3' (noContraction temp highp 3-component vector of float)
0:127 'pv3' (noContraction temp highp 3-component vector of float)
0:128 move second child to first child (temp highp float)
0:128 'd' (noContraction temp highp float)
0:128 fma (global highp float)
0:128 'd' (noContraction temp highp float)
0:128 'd' (noContraction temp highp float)
0:128 'd' (noContraction temp highp float)
0:131 Function Definition: bbBad( (global void)
0:131 Function Parameters:
0:133 Sequence
0:133 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
0:138 Function Definition: bb( (global void)
0:138 Function Parameters:
0:140 Sequence
0:140 move second child to first child (temp highp 4-component vector of float)
0:140 direct index (patch temp highp 4-component vector of float BoundingBox)
0:140 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
0:140 Constant:
0:140 0 (const int)
0:140 Constant:
0:140 0.000000
0:140 0.000000
0:140 0.000000
0:140 0.000000
0:141 move second child to first child (temp highp 4-component vector of float)
0:141 direct index (patch temp highp 4-component vector of float BoundingBox)
0:141 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
0:141 Constant:
0:141 1 (const int)
0:141 Constant:
0:141 1.000000
0:141 1.000000
0:141 1.000000
0:141 1.000000
0:142 move second child to first child (temp highp 4-component vector of float)
0:142 direct index (patch temp highp 4-component vector of float BoundingBox)
0:142 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
0:142 Constant:
0:142 2 (const int)
0:142 Constant:
0:142 2.000000
0:142 2.000000
0:142 2.000000
0:142 2.000000
0:153 Function Definition: outputtingOutparam(i1; (global void)
0:153 Function Parameters:
0:153 'a' (out highp int)
0:155 Sequence
0:155 move second child to first child (temp highp int)
0:155 'a' (out highp int)
0:155 Constant:
0:155 2 (const int)
0:158 Function Definition: outputting( (global void)
0:158 Function Parameters:
0:160 Sequence
0:160 move second child to first child (temp highp int)
0:160 indirect index (temp highp int)
0:160 'outa' (out 4-element array of highp int)
0:160 'gl_InvocationID' (in highp int InvocationID)
0:160 Constant:
0:160 2 (const int)
0:161 move second child to first child (temp highp int)
0:161 direct index (temp highp int)
0:161 'outa' (out 4-element array of highp int)
0:161 Constant:
0:161 1 (const int)
0:161 Constant:
0:161 2 (const int)
0:162 move second child to first child (temp highp 4-component vector of float)
0:162 gl_Position: direct index for structure (out highp 4-component vector of float Position)
0:162 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:162 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:162 Constant:
0:162 0 (const int)
0:162 Constant:
0:162 0 (const int)
0:162 Constant:
0:162 1.000000
0:162 1.000000
0:162 1.000000
0:162 1.000000
0:163 direct index (temp highp int)
0:163 'outa' (out 4-element array of highp int)
0:163 Constant:
0:163 1 (const int)
0:164 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:164 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:164 Constant:
0:164 0 (const int)
0:165 Function Call: outputtingOutparam(i1; (global void)
0:165 direct index (temp highp int)
0:165 'outa' (out 4-element array of highp int)
0:165 Constant:
0:165 0 (const int)
0:166 Function Call: outputtingOutparam(i1; (global void)
0:166 indirect index (temp highp int)
0:166 'outa' (out 4-element array of highp int)
0:166 'gl_InvocationID' (in highp int InvocationID)
0:167 move second child to first child (temp highp float)
0:167 f: direct index for structure (out highp float)
0:167 direct index (patch temp block{out highp float f})
0:167 'patchIName' (patch out 4-element array of block{out highp float f})
0:167 Constant:
0:167 1 (const int)
0:167 Constant:
0:167 0 (const int)
0:167 Constant:
0:167 3.140000
0:168 move second child to first child (temp highp int)
0:168 indirect index (temp highp int)
0:168 'outa' (out 4-element array of highp int)
0:168 'gl_InvocationID' (in highp int InvocationID)
0:168 Constant:
0:168 2 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) 0:? 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:? 'outa' (out 4-element array of highp int) 0:? 'outa' (out 4-element array of highp int)
......
...@@ -274,19 +274,6 @@ ERROR: node is still EOpNull! ...@@ -274,19 +274,6 @@ ERROR: node is still EOpNull!
0:48 Constant: 0:48 Constant:
0:48 0.000000 0:48 0.000000
0:48 'cd' (temp highp float) 0:48 'cd' (temp highp float)
0:117 Function Definition: pointSize2( (global void)
0:117 Function Parameters:
0:? Sequence
0:120 move second child to first child (temp highp float)
0:120 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
0:120 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
0:120 Constant:
0:120 1 (const uint)
0:120 'ps' (temp highp float)
0:125 Function Definition: bbbad( (global void)
0:125 Function Parameters:
0:127 Sequence
0:127 'gl_BoundingBoxOES' (temp float)
0:? Linker Objects 0:? Linker Objects
0:? 'patchIn' (patch in highp 4-component vector of float) 0:? 'patchIn' (patch in highp 4-component vector of float)
0:? 'patchOut' (patch out highp 4-component vector of float) 0:? 'patchOut' (patch out highp 4-component vector of float)
......
...@@ -152,31 +152,6 @@ ERROR: node is still EOpNull! ...@@ -152,31 +152,6 @@ ERROR: node is still EOpNull!
0:12 'buffer' (temp int) 0:12 'buffer' (temp int)
0:12 Constant: 0:12 Constant:
0:12 4 (const int) 0:12 4 (const int)
0:21 Function Definition: foo( (global void)
0:21 Function Parameters:
0:23 Sequence
0:23 Sequence
0:23 move second child to first child (temp 4-component vector of float)
0:23 'c' (temp 4-component vector of float)
0:23 gl_Color: direct index for structure (in 4-component vector of float Color)
0:23 'anon@0' (in block{in 4-component vector of float Color gl_Color, })
0:23 Constant:
0:23 2 (const uint)
0:24 move second child to first child (temp 4-component vector of float)
0:24 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
0:24 'inVar' (smooth in 4-component vector of float)
0:133 Function Definition: qlod( (global void)
0:133 Function Parameters:
0:? Sequence
0:140 'lod' (temp 2-component vector of float)
0:141 'lod' (temp 2-component vector of float)
0:147 Function Definition: fooKeyMem( (global void)
0:147 Function Parameters:
0:149 Sequence
0:149 precise: direct index for structure (global int)
0:149 'KeyMem' (global structure{global int precise})
0:149 Constant:
0:149 0 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'inVar' (smooth in 4-component vector of float) 0:? 'inVar' (smooth in 4-component vector of float)
0:? 'outVar' (layout(location=0 index=0 ) out 4-component vector of float) 0:? 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
......
...@@ -364,35 +364,6 @@ ERROR: node is still EOpNull! ...@@ -364,35 +364,6 @@ ERROR: node is still EOpNull!
0:56 Barrier (global void) 0:56 Barrier (global void)
0:59 Branch: Return 0:59 Branch: Return
0:61 Barrier (global void) 0:61 Barrier (global void)
0:67 Function Definition: foo( (global void)
0:67 Function Parameters:
0:69 Sequence
0:69 gl_PointSize: direct index for structure (out float PointSize)
0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
0:69 Constant:
0:69 4 (const int)
0:69 Constant:
0:69 1 (const int)
0:71 Barrier (global void)
0:91 Function Definition: foop( (global void)
0:91 Function Parameters:
0:? Sequence
0:95 multiply second child into first child (temp 3-component vector of float)
0:95 'pv3' (noContraction temp 3-component vector of float)
0:95 'pv3' (noContraction temp 3-component vector of float)
0:96 move second child to first child (temp 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:96 fma (global 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:97 move second child to first child (temp double)
0:97 'd' (noContraction temp double)
0:97 fma (global double)
0:97 'd' (noContraction temp double)
0:97 'd' (noContraction temp double)
0:97 'd' (noContraction temp double)
0:? Linker Objects 0:? Linker Objects
0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) 0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
0:? 'outa' (global 4-element array of int) 0:? 'outa' (global 4-element array of int)
......
...@@ -340,11 +340,6 @@ ERROR: node is still EOpNull! ...@@ -340,11 +340,6 @@ ERROR: node is still EOpNull!
0:20 '' (in uint) 0:20 '' (in uint)
0:20 '' (in float) 0:20 '' (in float)
0:20 '' (in double) 0:20 '' (in double)
0:21 Function Definition: ftd(f1;d1;d1; (global void)
0:21 Function Parameters:
0:21 '' (in float)
0:21 '' (in double)
0:21 '' (in double)
0:23 Function Definition: main( (global void) 0:23 Function Definition: main( (global void)
0:23 Function Parameters: 0:23 Function Parameters:
0:? Sequence 0:? Sequence
...@@ -552,19 +547,6 @@ ERROR: node is still EOpNull! ...@@ -552,19 +547,6 @@ ERROR: node is still EOpNull!
0:91 'f' (temp float) 0:91 'f' (temp float)
0:91 Convert float to double (temp double) 0:91 Convert float to double (temp double)
0:91 'f' (temp float) 0:91 'f' (temp float)
0:97 Function Definition: tf( (global void)
0:97 Function Parameters:
0:? Sequence
0:104 Function Call: itf(i1;f1;i1; (global void)
0:104 'i' (temp int)
0:104 Convert int to float (temp float)
0:104 'i' (temp int)
0:104 'i' (temp int)
0:105 Function Call: itf(i1;f1;i1; (global void)
0:105 'i' (temp int)
0:105 Convert uint to float (temp float)
0:105 'u' (temp uint)
0:105 'i' (temp int)
0:? Linker Objects 0:? Linker Objects
0:? 'd' (in double) 0:? 'd' (in double)
0:? 'd3' (in 3-component vector of double) 0:? 'd3' (in 3-component vector of double)
......
...@@ -77,35 +77,6 @@ ERROR: node is still EOpNull! ...@@ -77,35 +77,6 @@ ERROR: node is still EOpNull!
0:5 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex) 0:5 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
0:5 Constant: 0:5 Constant:
0:5 7 (const int) 0:5 7 (const int)
0:28 Function Definition: foo( (global void)
0:28 Function Parameters:
0:30 Sequence
0:30 Sequence
0:30 move second child to first child (temp float)
0:30 'p' (temp float)
0:30 gl_PointSize: direct index for structure (in float PointSize)
0:30 direct index (temp block{in float PointSize gl_PointSize})
0:30 'gl_in' (in 2-element array of block{in float PointSize gl_PointSize})
0:30 Constant:
0:30 1 (const int)
0:30 Constant:
0:30 0 (const int)
0:31 move second child to first child (temp float)
0:31 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
0:31 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
0:31 Constant:
0:31 1 (const uint)
0:31 'p' (temp float)
0:33 gl_Position: direct index for structure (layout(stream=0 ) gl_Position void Position)
0:33 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
0:33 Constant:
0:33 0 (const uint)
0:36 Function Definition: foo5( (global float)
0:36 Function Parameters:
0:38 Sequence
0:38 Branch: Return with expression
0:38 Constant:
0:38 4.000000
0:? Linker Objects 0:? Linker Objects
0:? 'gl_in' (in 2-element array of block{in float PointSize gl_PointSize}) 0:? 'gl_in' (in 2-element array of block{in float PointSize gl_PointSize})
0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, }) 0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
......
...@@ -142,111 +142,6 @@ max_vertices = -1 ...@@ -142,111 +142,6 @@ max_vertices = -1
input primitive = triangles input primitive = triangles
output primitive = none output primitive = none
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:7 Function Definition: foo( (global void)
0:7 Function Parameters:
0:9 Sequence
0:9 Constant:
0:9 1 (const int)
0:10 gl_Position: direct index for structure (in 4-component vector of float Position)
0:10 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
0:10 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
0:10 Constant:
0:10 1 (const int)
0:10 Constant:
0:10 0 (const int)
0:11 gl_Position: direct index for structure (in 4-component vector of float Position)
0:11 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
0:11 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
0:11 'i' (global int)
0:11 Constant:
0:11 0 (const int)
0:18 Function Definition: foo3( (global void)
0:18 Function Parameters:
0:20 Sequence
0:20 Constant:
0:20 3 (const int)
0:21 gl_Position: direct index for structure (in 4-component vector of float Position)
0:21 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
0:21 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
0:21 'i' (global int)
0:21 Constant:
0:21 0 (const int)
0:22 Constant:
0:22 3 (const int)
0:29 Function Definition: foo4( (global void)
0:29 Function Parameters:
0:? Sequence
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of float)
0:40 'v' (temp 4-component vector of float)
0:40 textureGatherOffset (global 4-component vector of float)
0:40 's2D' (uniform sampler2D)
0:40 direct index (temp 2-component vector of float)
0:40 'coord' (in 3-element array of 2-component vector of float)
0:40 Constant:
0:40 0 (const int)
0:40 vector swizzle (temp 2-component vector of int)
0:40 indirect index (temp 2-component vector of int)
0:40 Constant:
0:40 0 (const int)
0:40 1 (const int)
0:40 1 (const int)
0:40 -2 (const int)
0:40 0 (const int)
0:40 3 (const int)
0:40 -3 (const int)
0:40 0 (const int)
0:40 2 (const int)
0:40 1 (const int)
0:40 'i' (global int)
0:40 Sequence
0:40 Constant:
0:40 0 (const int)
0:40 Constant:
0:40 1 (const int)
0:42 move second child to first child (temp 2-component vector of int)
0:42 vector swizzle (temp 2-component vector of int)
0:42 indirect index (temp 2-component vector of int)
0:42 Constant:
0:42 0 (const int)
0:42 1 (const int)
0:42 1 (const int)
0:42 -2 (const int)
0:42 0 (const int)
0:42 3 (const int)
0:42 -3 (const int)
0:42 0 (const int)
0:42 2 (const int)
0:42 1 (const int)
0:42 'i' (global int)
0:42 Sequence
0:42 Constant:
0:42 0 (const int)
0:42 Constant:
0:42 1 (const int)
0:42 Constant:
0:42 3 (const int)
0:42 3 (const int)
0:43 move second child to first child (temp float)
0:43 direct index (temp float)
0:43 'v4' (uniform 4-component vector of float)
0:43 Constant:
0:43 0 (const int)
0:43 Constant:
0:43 3.200000
0:44 vector swizzle (temp 2-component vector of float)
0:44 'v4' (uniform 4-component vector of float)
0:44 Sequence
0:44 Constant:
0:44 0 (const int)
0:44 Constant:
0:44 1 (const int)
0:52 Function Definition: foo5( (global float)
0:52 Function Parameters:
0:54 Sequence
0:54 Branch: Return with expression
0:54 Convert int to float (temp float)
0:54 'i' (global int)
0:? Linker Objects 0:? Linker Objects
0:? 'i' (global int) 0:? 'i' (global int)
0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
......
...@@ -184,41 +184,6 @@ ERROR: node is still EOpNull! ...@@ -184,41 +184,6 @@ ERROR: node is still EOpNull!
0:26 indirect index (temp block{out 4-component vector of float Position gl_Position}) 0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position}) 0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
0:26 'gl_InvocationID' (in int InvocationID) 0:26 'gl_InvocationID' (in int InvocationID)
0:34 Function Definition: foo( (global void)
0:34 Function Parameters:
0:36 Sequence
0:36 Test condition and select (temp void)
0:36 Condition
0:36 logical-or (temp bool)
0:36 Compare Not Equal (temp bool)
0:36 Constant:
0:36 -0.625000
0:36 -0.500000
0:36 -0.375000
0:36 -0.250000
0:36 -0.375000
0:36 -0.250000
0:36 -0.125000
0:36 0.000000
0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
0:36 Constant:
0:36 0 (const int)
0:37 Compare Not Equal (temp bool)
0:37 Constant:
0:37 0.375000
0:37 0.500000
0:37 0.625000
0:37 0.750000
0:37 0.625000
0:37 0.750000
0:37 0.875000
0:37 -0.625000
0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
0:37 Constant:
0:37 0 (const int)
0:36 true case is null
0:? Linker Objects 0:? Linker Objects
0:? 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position}) 0:? 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
0:? 'a' (out 3-element array of int) 0:? 'a' (out 3-element array of int)
......
...@@ -310,19 +310,6 @@ Linked vertex stage: ...@@ -310,19 +310,6 @@ Linked vertex stage:
Shader version: 420 Shader version: 420
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:20 Function Definition: foo( (const int)
0:20 Function Parameters:
0:? Sequence
0:23 Sequence
0:23 move second child to first child (temp int)
0:23 'b' (const (read only) int)
0:23 'anonconst' (global int)
0:25 Sequence
0:25 move second child to first child (temp int)
0:25 'd' (const (read only) int)
0:25 'b' (const (read only) int)
0:29 Branch: Return with expression
0:29 'b' (const (read only) int)
0:32 Function Definition: main( (global void) 0:32 Function Definition: main( (global void)
0:32 Function Parameters: 0:32 Function Parameters:
0:? Sequence 0:? Sequence
...@@ -342,164 +329,6 @@ ERROR: node is still EOpNull! ...@@ -342,164 +329,6 @@ ERROR: node is still EOpNull!
0:42 Constant: 0:42 Constant:
0:42 true (const bool) 0:42 true (const bool)
0:42 No loop body 0:42 No loop body
0:50 Function Definition: bar(vf4; (global void)
0:50 Function Parameters:
0:50 'v' (volatile in 4-component vector of float)
0:? Sequence
0:53 's' (temp int)
0:54 's' (temp int)
0:55 Test condition and select (temp void)
0:55 Condition
0:55 Compare Equal (temp bool)
0:55 direct index (temp float)
0:55 direct index (temp 4-component vector of float)
0:55 'bad' (in 10-element array of 4-component vector of float)
0:55 Constant:
0:55 0 (const int)
0:55 Constant:
0:55 0 (const int)
0:55 Constant:
0:55 4.200000
0:55 true case is null
0:57 Test condition and select (temp void)
0:57 Condition
0:57 Constant:
0:57 true (const bool)
0:57 true case
0:58 move second child to first child (temp 4-component vector of float)
0:58 'badorder3' (flat out 4-component vector of float)
0:58 direct index (temp 4-component vector of float)
0:58 'bad' (in 10-element array of 4-component vector of float)
0:58 Constant:
0:58 0 (const int)
0:61 Sequence
0:61 move second child to first child (temp 3-component vector of float)
0:61 'smeared' (temp 3-component vector of float)
0:61 Construct vec3 (temp 3-component vector of float)
0:61 'f' (temp float)
0:62 'f' (temp float)
0:63 'f' (temp float)
0:88 Function Definition: bar23444( (global void)
0:88 Function Parameters:
0:? Sequence
0:91 Sequence
0:91 move second child to first child (temp float)
0:91 'a1' (temp float)
0:91 direct index (temp float)
0:91 direct index (temp 3-component vector of float)
0:91 'm43' (temp 4X3 matrix of float)
0:91 Constant:
0:91 3 (const int)
0:91 Constant:
0:91 1 (const int)
0:93 Sequence
0:93 move second child to first child (temp int)
0:93 'a2' (temp int)
0:93 Constant:
0:93 4 (const int)
0:94 add second child into first child (temp int)
0:94 'a2' (temp int)
0:94 Constant:
0:94 3 (const int)
0:95 add second child into first child (temp int)
0:95 'a2' (temp int)
0:95 Constant:
0:95 3 (const int)
0:96 Sequence
0:96 move second child to first child (temp float)
0:96 'b' (const (read only) float)
0:96 component-wise multiply (temp float)
0:96 Constant:
0:96 2.000000
0:96 'a1' (temp float)
0:97 Sequence
0:97 move second child to first child (temp int)
0:97 'a' (temp int)
0:97 Constant:
0:97 -1 (const int)
0:109 Function Definition: qux( (global void)
0:109 Function Parameters:
0:111 Sequence
0:111 Sequence
0:111 move second child to first child (temp int)
0:111 'i' (temp int)
0:111 aoeu: direct index for structure (layout(column_major shared ) uniform int)
0:111 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
0:111 Constant:
0:111 0 (const uint)
0:112 imageAtomicCompSwap (global int)
0:112 'iimg2D' (layout(r32i ) uniform iimage2D)
0:112 Construct ivec2 (temp 2-component vector of int)
0:112 'i' (temp int)
0:112 'i' (temp int)
0:112 'i' (temp int)
0:112 'i' (temp int)
0:113 imageAtomicAdd (global uint)
0:113 'uimg2D' (layout(r32ui ) uniform uimage2D)
0:113 Construct ivec2 (temp 2-component vector of int)
0:113 'i' (temp int)
0:113 'i' (temp int)
0:113 Convert int to uint (temp uint)
0:113 'i' (temp int)
0:114 imageAtomicMin (global int)
0:114 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
0:114 Construct ivec2 (temp 2-component vector of int)
0:114 'i' (temp int)
0:114 'i' (temp int)
0:114 'i' (temp int)
0:115 Constant:
0:115 0.000000
0:116 Sequence
0:116 move second child to first child (temp 4-component vector of int)
0:116 'pos' (temp 4-component vector of int)
0:116 imageLoad (global 4-component vector of int)
0:116 'iimg2D' (layout(r32i ) uniform iimage2D)
0:116 Construct ivec2 (temp 2-component vector of int)
0:116 'i' (temp int)
0:116 'i' (temp int)
0:117 Sequence
0:117 move second child to first child (temp 4-component vector of float)
0:117 'col' (temp 4-component vector of float)
0:117 imageLoad (global 4-component vector of float)
0:117 'img2DMS' (uniform image2DMS)
0:117 Construct ivec2 (temp 2-component vector of int)
0:117 'i' (temp int)
0:117 'i' (temp int)
0:117 'i' (temp int)
0:118 imageStore (global void)
0:118 'img2DMSWO' (writeonly uniform image2DMS)
0:118 Construct ivec2 (temp 2-component vector of int)
0:118 'i' (temp int)
0:118 'i' (temp int)
0:118 'i' (temp int)
0:118 Constant:
0:118 0.000000
0:118 0.000000
0:118 0.000000
0:118 0.000000
0:119 imageLoad (global 4-component vector of float)
0:119 'img2DMSWO' (writeonly uniform image2DMS)
0:119 Construct ivec2 (temp 2-component vector of int)
0:119 'i' (temp int)
0:119 'i' (temp int)
0:119 'i' (temp int)
0:125 Function Definition: passr(iI21; (global void)
0:125 Function Parameters:
0:125 'image' (coherent readonly in iimage2D)
0:132 Function Definition: passrc( (global void)
0:132 Function Parameters:
0:134 Sequence
0:134 Function Call: passr(iI21; (global void)
0:134 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
0:135 Function Call: passr(iI21; (global void)
0:135 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
0:136 Function Call: passr(iI21; (global void)
0:136 'iimg2D' (layout(r32i ) uniform iimage2D)
0:153 Function Definition: qlod( (global void)
0:153 Function Parameters:
0:? Sequence
0:157 'levels' (temp int)
0:158 'levels' (temp int)
0:? Linker Objects 0:? Linker Objects
0:? 'v2' (smooth out 2-component vector of float) 0:? 'v2' (smooth out 2-component vector of float)
0:? 'bad' (in 10-element array of 4-component vector of float) 0:? 'bad' (in 10-element array of 4-component vector of float)
......
...@@ -49,26 +49,6 @@ max_vertices = -1 ...@@ -49,26 +49,6 @@ max_vertices = -1
input primitive = triangles input primitive = triangles
output primitive = none output primitive = none
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:11 Function Definition: foo( (global void)
0:11 Function Parameters:
0:13 Sequence
0:13 Constant:
0:13 3 (const int)
0:14 gl_Position: direct index for structure (in 4-component vector of float Position)
0:14 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
0:14 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
0:14 Constant:
0:14 1 (const int)
0:14 Constant:
0:14 0 (const int)
0:15 Constant:
0:15 3 (const int)
0:16 gl_Position: direct index for structure (in 4-component vector of float Position)
0:16 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
0:16 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
0:16 'i' (global int)
0:16 Constant:
0:16 0 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'i' (global int) 0:? 'i' (global int)
0:? 'colorun' (in 3-element array of 4-component vector of float) 0:? 'colorun' (in 3-element array of 4-component vector of float)
......
...@@ -184,77 +184,6 @@ ERROR: node is still EOpNull! ...@@ -184,77 +184,6 @@ ERROR: node is still EOpNull!
0:39 10 (const int) 0:39 10 (const int)
0:39 true case 0:39 true case
0:40 Barrier (global void) 0:40 Barrier (global void)
0:63 Function Definition: foo( (global void)
0:63 Function Parameters:
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 implicitly-sized 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 implicitly-sized array of float values})
0:65 Constant:
0:65 1 (const int)
0:65 Constant:
0:65 2 (const int)
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 implicitly-sized 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 implicitly-sized array of float values})
0:66 Constant:
0:66 1 (const int)
0:67 Barrier (global void)
0:72 Function Definition: fooaoeu( (global void)
0:72 Function Parameters:
0:73 Sequence
0:73 Sequence
0:73 move second child to first child (temp 2-component vector of int)
0:73 'storePos' (temp 2-component vector of int)
0:73 Convert uint to int (temp 2-component vector of int)
0:73 vector swizzle (temp 2-component vector of uint)
0:73 'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID)
0:73 Sequence
0:73 Constant:
0:73 0 (const int)
0:73 Constant:
0:73 1 (const int)
0:74 Sequence
0:74 move second child to first child (temp double)
0:74 'localCoef' (temp double)
0:74 Convert float to double (temp double)
0:74 length (global float)
0:74 divide (temp 2-component vector of float)
0:74 Convert int to float (temp 2-component vector of float)
0:74 subtract (temp 2-component vector of int)
0:74 Convert uint to int (temp 2-component vector of int)
0:74 vector swizzle (temp 2-component vector of uint)
0:74 'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID)
0:74 Sequence
0:74 Constant:
0:74 0 (const int)
0:74 Constant:
0:74 1 (const int)
0:74 Constant:
0:74 8 (const int)
0:74 Constant:
0:74 8.000000
0:75 Sequence
0:75 move second child to first child (temp 4-component vector of double)
0:75 'aa' (temp 4-component vector of double)
0:75 Constant:
0:75 0.400000
0:75 0.200000
0:75 0.300000
0:75 0.400000
0:76 Sequence
0:76 move second child to first child (temp double)
0:76 'globalCoef' (temp double)
0:76 Constant:
0:76 1.000000
0:78 Sequence
0:78 move second child to first child (temp double)
0:78 'di' (temp double)
0:78 Convert int to double (temp double)
0:78 'i' (temp int)
0:? Linker Objects 0:? Linker Objects
0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize) 0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
0:? 2 (const uint) 0:? 2 (const uint)
......
...@@ -275,135 +275,6 @@ Requested GL_ARB_enhanced_layouts ...@@ -275,135 +275,6 @@ Requested GL_ARB_enhanced_layouts
Requested GL_ARB_shader_texture_image_samples Requested GL_ARB_shader_texture_image_samples
in xfb mode in xfb mode
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:14 Function Definition: foo( (global void)
0:14 Function Parameters:
0:16 Sequence
0:16 move second child to first child (temp float)
0:16 direct index (temp float ClipDistance)
0:16 gl_ClipDistance: direct index for structure (out 17-element array of float ClipDistance)
0:16 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })
0:16 Constant:
0:16 2 (const uint)
0:16 Constant:
0:16 2 (const int)
0:16 Constant:
0:16 3.700000
0:31 Function Definition: foo3(vf4;vf3;vf2;vf3; (global void)
0:31 Function Parameters:
0:31 'v4' (in 4-component vector of float)
0:31 'v3' (volatile in 3-component vector of float)
0:31 'v2' (in 2-component vector of float)
0:31 'cv3' (in 3-component vector of float)
0:148 Function Definition: fooBarrier( (global void)
0:148 Function Parameters:
0:150 Sequence
0:150 Constant:
0:150 0.000000
0:151 MemoryBarrier (global void)
0:152 MemoryBarrierAtomicCounter (global void)
0:153 MemoryBarrierBuffer (global void)
0:154 Constant:
0:154 0.000000
0:155 MemoryBarrierImage (global void)
0:156 Constant:
0:156 0.000000
0:166 Function Definition: fooq( (global void)
0:166 Function Parameters:
0:168 Sequence
0:168 Sequence
0:168 move second child to first child (temp int)
0:168 's' (temp int)
0:168 textureSamples (global int)
0:168 's2dms' (uniform sampler2DMS)
0:169 add second child into first child (temp int)
0:169 's' (temp int)
0:169 textureSamples (global int)
0:169 'us2dmsa' (uniform usampler2DMSArray)
0:170 add second child into first child (temp int)
0:170 's' (temp int)
0:170 imageQuerySamples (global int)
0:170 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
0:171 add second child into first child (temp int)
0:171 's' (temp int)
0:171 imageQuerySamples (global int)
0:171 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
0:176 Function Definition: fooq2( (global void)
0:176 Function Parameters:
0:178 Sequence
0:178 Sequence
0:178 move second child to first child (temp int)
0:178 's' (temp int)
0:178 textureSamples (global int)
0:178 's2dms' (uniform sampler2DMS)
0:179 add second child into first child (temp int)
0:179 's' (temp int)
0:179 textureSamples (global int)
0:179 'us2dmsa' (uniform usampler2DMSArray)
0:180 add second child into first child (temp int)
0:180 's' (temp int)
0:180 imageQuerySamples (global int)
0:180 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
0:181 add second child into first child (temp int)
0:181 's' (temp int)
0:181 imageQuerySamples (global int)
0:181 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
0:202 Function Definition: qlod( (global void)
0:202 Function Parameters:
0:? Sequence
0:206 move second child to first child (temp int)
0:206 'levels' (temp int)
0:206 textureQueryLevels (global int)
0:206 'samp1D' (uniform sampler1D)
0:207 move second child to first child (temp int)
0:207 'levels' (temp int)
0:207 textureQueryLevels (global int)
0:207 'usamp2D' (uniform usampler2D)
0:208 move second child to first child (temp int)
0:208 'levels' (temp int)
0:208 textureQueryLevels (global int)
0:208 'isamp3D' (uniform isampler3D)
0:209 move second child to first child (temp int)
0:209 'levels' (temp int)
0:209 textureQueryLevels (global int)
0:209 'isampCube' (uniform isamplerCube)
0:210 move second child to first child (temp int)
0:210 'levels' (temp int)
0:210 textureQueryLevels (global int)
0:210 'isamp1DA' (uniform isampler1DArray)
0:211 move second child to first child (temp int)
0:211 'levels' (temp int)
0:211 textureQueryLevels (global int)
0:211 'samp2DA' (uniform sampler2DArray)
0:212 move second child to first child (temp int)
0:212 'levels' (temp int)
0:212 textureQueryLevels (global int)
0:212 'usampCubeA' (uniform usamplerCubeArray)
0:214 move second child to first child (temp int)
0:214 'levels' (temp int)
0:214 textureQueryLevels (global int)
0:214 'samp1Ds' (uniform sampler1DShadow)
0:215 move second child to first child (temp int)
0:215 'levels' (temp int)
0:215 textureQueryLevels (global int)
0:215 'samp2Ds' (uniform sampler2DShadow)
0:216 move second child to first child (temp int)
0:216 'levels' (temp int)
0:216 textureQueryLevels (global int)
0:216 'sampCubes' (uniform samplerCubeShadow)
0:217 move second child to first child (temp int)
0:217 'levels' (temp int)
0:217 textureQueryLevels (global int)
0:217 'samp1DAs' (uniform sampler1DArrayShadow)
0:218 move second child to first child (temp int)
0:218 'levels' (temp int)
0:218 textureQueryLevels (global int)
0:218 'samp2DAs' (uniform sampler2DArrayShadow)
0:219 move second child to first child (temp int)
0:219 'levels' (temp int)
0:219 textureQueryLevels (global int)
0:219 'sampCubeAs' (uniform samplerCubeArrayShadow)
0:221 'levels' (temp int)
0:222 'levels' (temp int)
0:? Linker Objects 0:? Linker Objects
0:? 'v4' (layout(location=3 ) temp 4-component vector of float) 0:? 'v4' (layout(location=3 ) temp 4-component vector of float)
0:? 'uv4' (layout(location=4 ) uniform 4-component vector of float) 0:? 'uv4' (layout(location=4 ) uniform 4-component vector of float)
......
...@@ -766,34 +766,6 @@ ERROR: node is still EOpNull! ...@@ -766,34 +766,6 @@ ERROR: node is still EOpNull!
0:84 5.000000 0:84 5.000000
0:85 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float) 0:85 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
0:85 'u' (temp 5-element array of 7-element array of float) 0:85 'u' (temp 5-element array of 7-element array of float)
0:88 Function Definition: foo3( (global void)
0:88 Function Parameters:
0:? Sequence
0:91 Constant:
0:91 1 (const int)
0:92 move second child to first child (temp float)
0:92 direct index (temp float)
0:92 direct index (temp 7-element array of float)
0:92 direct index (temp 5-element array of 7-element array of float)
0:92 'resize1' (temp 3-element array of 5-element array of 7-element array of float)
0:92 Constant:
0:92 1 (const int)
0:92 Constant:
0:92 4 (const int)
0:92 Constant:
0:92 5 (const int)
0:92 Constant:
0:92 2.000000
0:93 Constant:
0:93 1 (const int)
0:95 Constant:
0:95 3 (const int)
0:96 Constant:
0:96 5 (const int)
0:97 Constant:
0:97 7 (const int)
0:98 Constant:
0:98 0.000000
0:? Linker Objects 0:? Linker Objects
0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of float) 0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of float)
0:? 'gu' (global 1-element array of 7-element array of float) 0:? 'gu' (global 1-element array of 7-element array of float)
......
...@@ -149,20 +149,6 @@ ERROR: node is still EOpNull! ...@@ -149,20 +149,6 @@ ERROR: node is still EOpNull!
0:8 1.000000 0:8 1.000000
0:11 Branch: Return with expression 0:11 Branch: Return with expression
0:11 'a' (in int) 0:11 'a' (in int)
0:25 Function Definition: cos(f1; (global float)
0:25 Function Parameters:
0:25 'x' (in float)
0:27 Sequence
0:27 Branch: Return with expression
0:27 Constant:
0:27 1.000000
0:29 Function Definition: radians(b1; (global bool)
0:29 Function Parameters:
0:29 'x' (in bool)
0:31 Sequence
0:31 Branch: Return with expression
0:31 Constant:
0:31 true (const bool)
0:36 Function Definition: main( (global void) 0:36 Function Definition: main( (global void)
0:36 Function Parameters: 0:36 Function Parameters:
0:? Sequence 0:? Sequence
......
...@@ -126,35 +126,6 @@ ERROR: Linking fragment stage: Missing entry point: Each stage requires one entr ...@@ -126,35 +126,6 @@ ERROR: Linking fragment stage: Missing entry point: Each stage requires one entr
Shader version: 440 Shader version: 440
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:144 Function Definition: interp( (global void)
0:144 Function Parameters:
0:146 Sequence
0:146 interpolateAtCentroid (global 2-component vector of float)
0:146 vector swizzle (temp 2-component vector of float)
0:146 direct index (smooth sample temp 3-component vector of float)
0:146 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
0:146 Constant:
0:146 2 (const int)
0:146 Sequence
0:146 Constant:
0:146 0 (const int)
0:146 Constant:
0:146 1 (const int)
0:147 interpolateAtSample (global float)
0:147 direct index (temp float)
0:147 direct index (smooth sample temp 3-component vector of float)
0:147 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
0:147 Constant:
0:147 2 (const int)
0:147 Constant:
0:147 0 (const int)
0:147 Constant:
0:147 2 (const int)
0:150 Function Definition: layer( (global int)
0:150 Function Parameters:
0:152 Sequence
0:152 Branch: Return with expression
0:152 'gl_Layer' (flat in int Layer)
0:? Linker Objects 0:? Linker Objects
0:? 'a' (layout(location=4 component=2 ) smooth in 2-component vector of float) 0:? 'a' (layout(location=4 component=2 ) smooth in 2-component vector of float)
0:? 'b' (layout(location=4 component=1 ) smooth in float) 0:? 'b' (layout(location=4 component=1 ) smooth in float)
......
...@@ -174,37 +174,6 @@ Shader version: 440 ...@@ -174,37 +174,6 @@ Shader version: 440
Requested GL_ARB_shader_draw_parameters Requested GL_ARB_shader_draw_parameters
in xfb mode in xfb mode
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:177 Function Definition: drawParamsBad( (global int)
0:177 Function Parameters:
0:179 Sequence
0:179 Branch: Return with expression
0:179 add (temp int)
0:179 add (temp int)
0:179 'gl_BaseVertexARB' (in int BaseVertex)
0:179 'gl_BaseInstanceARB' (in int BaseInstance)
0:179 'gl_DrawIDARB' (in int DrawId)
0:184 Function Definition: drawParams( (global int)
0:184 Function Parameters:
0:186 Sequence
0:186 Branch: Return with expression
0:186 add (temp int)
0:186 add (temp int)
0:186 'gl_BaseVertexARB' (in int BaseVertex)
0:186 'gl_BaseInstanceARB' (in int BaseInstance)
0:186 'gl_DrawIDARB' (in int DrawId)
0:187 move second child to first child (temp int)
0:187 'gl_BaseVertexARB' (in int BaseVertex)
0:187 Constant:
0:187 3 (const int)
0:188 move second child to first child (temp int)
0:188 'gl_BaseInstanceARB' (in int BaseInstance)
0:188 Constant:
0:188 3 (const int)
0:189 move second child to first child (temp int)
0:189 'gl_DrawIDARB' (in int DrawId)
0:189 Constant:
0:189 3 (const int)
0:190 'glBaseInstanceARB' (temp float)
0:? Linker Objects 0:? Linker Objects
0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float) 0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float)
0:? 'b' (layout(location=2 component=1 ) in float) 0:? 'b' (layout(location=2 component=1 ) in float)
......
...@@ -263,57 +263,6 @@ Shader version: 450 ...@@ -263,57 +263,6 @@ Shader version: 450
0:34 'uin' (temp uint) 0:34 'uin' (temp uint)
0:34 Construct bvec3 (temp 3-component vector of bool) 0:34 Construct bvec3 (temp 3-component vector of bool)
0:34 'b' (temp bool) 0:34 'b' (temp bool)
0:42 Function Definition: foo( (global void)
0:42 Function Parameters:
0:44 Sequence
0:44 Sequence
0:44 move second child to first child (temp int)
0:44 's' (temp int)
0:44 textureSamples (global int)
0:44 's2dms' (uniform sampler2DMS)
0:45 add second child into first child (temp int)
0:45 's' (temp int)
0:45 textureSamples (global int)
0:45 'us2dmsa' (uniform usampler2DMSArray)
0:46 add second child into first child (temp int)
0:46 's' (temp int)
0:46 imageQuerySamples (global int)
0:46 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
0:47 add second child into first child (temp int)
0:47 's' (temp int)
0:47 imageQuerySamples (global int)
0:47 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
0:48 Sequence
0:48 move second child to first child (temp float)
0:48 'f' (temp float)
0:48 imageAtomicExchange (global float)
0:48 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
0:48 Convert float to int (temp 3-component vector of int)
0:48 'in3' (smooth in 3-component vector of float)
0:48 Constant:
0:48 2 (const int)
0:48 Constant:
0:48 4.500000
0:53 Function Definition: cull(i1; (global float)
0:53 Function Parameters:
0:53 'i' (in int)
0:55 Sequence
0:55 Branch: Return with expression
0:55 Test condition and select (temp float)
0:55 Condition
0:55 Compare Greater Than or Equal (temp bool)
0:55 'i' (in int)
0:55 Constant:
0:55 6 (const int)
0:55 true case
0:55 direct index (smooth temp float CullDistance)
0:55 'gl_CullDistance' (smooth in 6-element array of float CullDistance)
0:55 Constant:
0:55 5 (const int)
0:55 false case
0:55 indirect index (smooth temp float CullDistance)
0:55 'gl_CullDistance' (smooth in 6-element array of float CullDistance)
0:55 'i' (in int)
0:? Linker Objects 0:? Linker Objects
0:? 'in1' (smooth in float) 0:? 'in1' (smooth in float)
0:? 'in2' (smooth in 2-component vector of float) 0:? 'in2' (smooth in 2-component vector of float)
......
...@@ -446,71 +446,6 @@ ERROR: node is still EOpNull! ...@@ -446,71 +446,6 @@ ERROR: node is still EOpNull!
0:58 1 (const int) 0:58 1 (const int)
0:58 Constant: 0:58 Constant:
0:58 4 (const int) 0:58 4 (const int)
0:68 Function Definition: foo( (global void)
0:68 Function Parameters:
0:? Sequence
0:71 move second child to first child (temp int)
0:71 direct index (temp int)
0:71 'uns' (temp 4-element array of int)
0:71 Constant:
0:71 3 (const int)
0:71 Constant:
0:71 40 (const int)
0:72 move second child to first child (temp int)
0:72 direct index (temp int)
0:72 'uns' (temp 4-element array of int)
0:72 Constant:
0:72 1 (const int)
0:72 Constant:
0:72 30 (const int)
0:73 move second child to first child (temp 3-component vector of float)
0:73 direct index (temp 3-component vector of float)
0:73 'guns' (global 8-element array of 3-component vector of float)
0:73 Constant:
0:73 2 (const int)
0:73 Constant:
0:73 2.400000
0:73 2.400000
0:73 2.400000
0:76 Constant:
0:76 0.000000
0:79 Function Definition: foo2( (global implicitly-sized array of float)
0:79 Function Parameters:
0:? Sequence
0:82 Branch: Return with expression
0:82 'f' (temp 1-element array of float)
0:84 Branch: Return with expression
0:84 'g' (temp 9-element array of float)
0:89 Function Definition: foo3( (global void)
0:89 Function Parameters:
0:? Sequence
0:92 move second child to first child (temp float)
0:92 direct index (temp float)
0:92 'resize1' (temp 3-element array of float)
0:92 Constant:
0:92 2 (const int)
0:92 Constant:
0:92 4.000000
0:93 Constant:
0:93 1 (const int)
0:95 Constant:
0:95 3 (const int)
0:98 move second child to first child (temp float)
0:98 direct index (temp float)
0:98 'resize2' (temp 5-element array of float)
0:98 Constant:
0:98 5 (const int)
0:98 Constant:
0:98 4.000000
0:100 Constant:
0:100 5 (const int)
0:101 move second child to first child (temp float)
0:101 direct index (temp float)
0:101 'resize2' (temp 5-element array of float)
0:101 Constant:
0:101 5 (const int)
0:101 Constant:
0:101 4.000000
0:106 Sequence 0:106 Sequence
0:106 move second child to first child (temp float) 0:106 move second child to first child (temp float)
0:106 'b' (global float) 0:106 'b' (global float)
......
...@@ -265,29 +265,6 @@ ERROR: node is still EOpNull! ...@@ -265,29 +265,6 @@ ERROR: node is still EOpNull!
0:40 1.000000 0:40 1.000000
0:40 1.000000 0:40 1.000000
0:40 1.000000 0:40 1.000000
0:53 Function Definition: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
0:53 Function Parameters:
0:? Sequence
0:56 Branch: Return with expression
0:56 's' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
0:59 Function Definition: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
0:59 Function Parameters:
0:59 's' (in structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
0:63 Function Definition: bar11( (global void)
0:63 Function Parameters:
0:? Sequence
0:66 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
0:66 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
0:66 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
0:67 Function Call: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
0:67 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
0:68 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
0:68 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
0:68 Function Call: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
0:69 Sequence
0:69 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
0:69 'initSb' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
0:69 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
0:? Linker Objects 0:? Linker Objects
0:? 'gu' (global 1-element array of mediump float) 0:? 'gu' (global 1-element array of mediump float)
0:? 'g4' (global 4-element array of mediump float) 0:? 'g4' (global 4-element array of mediump float)
......
...@@ -86,22 +86,6 @@ Linked fragment stage: ...@@ -86,22 +86,6 @@ Linked fragment stage:
Shader version: 420 Shader version: 420
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:5 Function Definition: func(au1; (global uint)
0:5 Function Parameters:
0:5 'c' (in atomic_uint)
0:7 Sequence
0:7 Branch: Return with expression
0:7 AtomicCounterIncrement (global uint)
0:7 'c' (in atomic_uint)
0:10 Function Definition: func2(au1; (global uint)
0:10 Function Parameters:
0:10 'c' (out atomic_uint)
0:12 Sequence
0:12 Branch: Return with expression
0:12 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:13 Branch: Return with expression
0:13 AtomicCounter (global uint)
0:13 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:16 Function Definition: main( (global void) 0:16 Function Definition: main( (global void)
0:16 Function Parameters: 0:16 Function Parameters:
0:? Sequence 0:? Sequence
...@@ -112,22 +96,6 @@ ERROR: node is still EOpNull! ...@@ -112,22 +96,6 @@ ERROR: node is still EOpNull!
0:19 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint) 0:19 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:20 AtomicCounterDecrement (global uint) 0:20 AtomicCounterDecrement (global uint)
0:20 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint) 0:20 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:26 Function Definition: opac( (global void)
0:26 Function Parameters:
0:28 Sequence
0:28 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:29 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:31 indirect index (temp int)
0:31 'a' (temp 3-element array of int)
0:31 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:32 direct index (layout(binding=1 offset=3 ) temp atomic_uint)
0:32 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
0:32 Constant:
0:32 2 (const int)
0:33 indirect index (layout(binding=1 offset=3 ) temp atomic_uint)
0:33 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
0:33 'i' (uniform int)
0:34 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:? Linker Objects 0:? Linker Objects
0:? 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint) 0:? 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:? 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint) 0:? 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
......
...@@ -546,120 +546,6 @@ ERROR: node is still EOpNull! ...@@ -546,120 +546,6 @@ ERROR: node is still EOpNull!
0:69 0.028000 0:69 0.028000
0:69 0.500000 0:69 0.500000
0:69 1.000000 0:69 1.000000
0:78 Function Definition: foo( (global void)
0:78 Function Parameters:
0:? Sequence
0:81 move second child to first child (temp float)
0:81 direct index (temp float)
0:81 'a' (temp 3-element array of float)
0:81 Constant:
0:81 0 (const int)
0:81 Constant:
0:81 7.000000
0:82 Constant:
0:82 2 (const int)
0:83 Constant:
0:83 2147483647 (const int)
0:84 Constant:
0:84 inf
0:88 Constant:
0:88 2 (const uint)
0:88 3 (const uint)
0:89 Constant:
0:89 0 (const uint)
0:90 Constant:
0:90 6 (const uint)
0:90 7 (const uint)
0:103 Function Definition: foo2( (global void)
0:103 Function Parameters:
0:105 Sequence
0:105 direct index (temp float)
0:105 'a1' (global 1-element array of float)
0:105 Constant:
0:105 0 (const int)
0:106 direct index (temp float)
0:106 'a2' (global 2-element array of float)
0:106 Constant:
0:106 0 (const int)
0:107 direct index (temp float)
0:107 'a3' (global 4-element array of float)
0:107 Constant:
0:107 0 (const int)
0:108 direct index (temp float)
0:108 'a4' (global 2-element array of float)
0:108 Constant:
0:108 0 (const int)
0:109 Constant:
0:109 1.000000
0:110 Constant:
0:110 5.000000
0:111 Constant:
0:111 2.000000
0:112 Constant:
0:112 3.000000
0:113 Constant:
0:113 0.000000
0:114 Constant:
0:114 0.000000
0:116 move second child to first child (temp int)
0:116 'p' (temp int)
0:116 Constant:
0:116 2147483647 (const int)
0:117 move second child to first child (temp int)
0:117 'p' (temp int)
0:117 Constant:
0:117 -2147483648 (const int)
0:118 move second child to first child (temp int)
0:118 'p' (temp int)
0:118 Constant:
0:118 -2147483647 (const int)
0:119 Sequence
0:119 move second child to first child (temp float)
0:119 'f' (temp float)
0:119 Constant:
0:119 1.444000
0:120 move second child to first child (temp float)
0:120 'f' (temp float)
0:120 direct index (temp float)
0:120 Construct vec4 (temp 4-component vector of float)
0:120 Test condition and select (temp float)
0:120 Condition
0:120 Compare Less Than (temp bool)
0:120 direct index (temp float)
0:120 'inv' (smooth in 4-component vector of float)
0:120 Constant:
0:120 0 (const int)
0:120 Constant:
0:120 2.400000
0:120 true case
0:120 Constant:
0:120 -1.000000
0:120 false case
0:120 Constant:
0:120 1.000000
0:120 Constant:
0:120 3 (const int)
0:126 Function Definition: foo3( (global void)
0:126 Function Parameters:
0:128 Sequence
0:128 Sequence
0:128 move second child to first child (temp 3X2 matrix of float)
0:128 'r32' (temp 3X2 matrix of float)
0:128 Constant:
0:128 43.000000
0:128 64.000000
0:128 51.000000
0:128 76.000000
0:128 59.000000
0:128 88.000000
0:138 Function Definition: foo4( (global void)
0:138 Function Parameters:
0:140 Sequence
0:140 Sequence
0:140 move second child to first child (temp int)
0:140 'a' (temp int)
0:140 Constant:
0:140 9 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'a' (const int) 0:? 'a' (const int)
0:? 1 (const int) 0:? 1 (const int)
......
...@@ -152,41 +152,6 @@ ERROR: node is still EOpNull! ...@@ -152,41 +152,6 @@ ERROR: node is still EOpNull!
0:39 'gl_Position' (gl_Position highp 4-component vector of float Position) 0:39 'gl_Position' (gl_Position highp 4-component vector of float Position)
0:39 Construct vec4 (temp highp 4-component vector of float) 0:39 Construct vec4 (temp highp 4-component vector of float)
0:39 'sum' (global highp float) 0:39 'sum' (global highp float)
0:44 Function Definition: foo( (global highp float)
0:44 Function Parameters:
0:46 Sequence
0:46 Branch: Return with expression
0:46 add (temp highp float)
0:46 add (temp highp float)
0:46 direct index (temp highp float)
0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
0:46 Constant:
0:46 0 (const int)
0:46 Constant:
0:46 3.000000
0:46 add (temp highp float)
0:46 direct index (temp highp float)
0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
0:46 Constant:
0:46 0 (const int)
0:46 Constant:
0:46 3.000000
0:47 Branch: Return with expression
0:47 add (temp highp float)
0:47 add (temp highp float)
0:47 direct index (temp highp float)
0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
0:47 Constant:
0:47 1 (const int)
0:47 Constant:
0:47 3.000000
0:47 add (temp highp float)
0:47 direct index (temp highp float)
0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
0:47 Constant:
0:47 1 (const int)
0:47 Constant:
0:47 3.000000
0:97 Sequence 0:97 Sequence
0:97 move second child to first child (temp highp float) 0:97 move second child to first child (temp highp float)
0:97 'c' (global highp float) 0:97 'c' (global highp float)
......
...@@ -135,17 +135,6 @@ ERROR: node is still EOpNull! ...@@ -135,17 +135,6 @@ ERROR: node is still EOpNull!
0:133 'selected3' (global int) 0:133 'selected3' (global int)
0:133 Constant: 0:133 Constant:
0:133 3 (const int) 0:133 3 (const int)
0:175 Function Definition: foo985( (global void)
0:175 Function Parameters:
0:175 Sequence
0:175 add (temp int)
0:175 Constant:
0:175 2 (const int)
0:175 Comma (temp int)
0:175 Constant:
0:175 3 (const int)
0:175 Constant:
0:175 4 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'sum' (global float) 0:? 'sum' (global float)
0:? 'selected4' (global int) 0:? 'selected4' (global int)
......
...@@ -282,19 +282,6 @@ ERROR: node is still EOpNull! ...@@ -282,19 +282,6 @@ ERROR: node is still EOpNull!
0:202 'f' (global double) 0:202 'f' (global double)
0:202 Constant: 0:202 Constant:
0:202 0.000800 0:202 0.000800
12:20031 Function Definition: foo234( (global void)
12:20031 Function Parameters:
12:20033 Sequence
12:20033 move second child to first child (temp 4-component vector of float)
12:20033 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
12:20033 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
12:20033 Constant:
12:20033 0 (const uint)
12:20033 Constant:
12:20033 6.000000
12:20033 6.000000
12:20033 6.000000
12:20033 6.000000
12:9011 Sequence 12:9011 Sequence
12:9011 move second child to first child (temp int) 12:9011 move second child to first child (temp int)
12:9011 'R1' (global int) 12:9011 'R1' (global int)
......
...@@ -147,128 +147,6 @@ Shader version: 400 ...@@ -147,128 +147,6 @@ Shader version: 400
0:5 'c' (global int) 0:5 'c' (global int)
0:5 Constant: 0:5 Constant:
0:5 0 (const int) 0:5 0 (const int)
0:7 Function Definition: bar( (global void)
0:7 Function Parameters:
0:9 Sequence
0:9 Test condition and select (temp void)
0:9 Condition
0:9 Constant:
0:9 false (const bool)
0:9 true case
0:10 Pre-Increment (temp int)
0:10 'c' (global int)
0:9 false case
0:12 Pre-Increment (temp int)
0:12 'c' (global int)
0:14 Test condition and select (temp int)
0:14 Condition
0:14 Constant:
0:14 false (const bool)
0:14 true case
0:14 Pre-Increment (temp int)
0:14 'c' (global int)
0:14 false case
0:14 Pre-Increment (temp int)
0:14 'c' (global int)
0:16 switch
0:16 condition
0:16 'c' (global int)
0:16 body
0:16 Sequence
0:17 case: with expression
0:17 Constant:
0:17 1 (const int)
0:? Sequence
0:18 Pre-Increment (temp int)
0:18 'c' (global int)
0:19 Branch: Break
0:20 Pre-Increment (temp int)
0:20 'c' (global int)
0:21 case: with expression
0:21 Constant:
0:21 2 (const int)
0:? Sequence
0:22 Branch: Break
0:23 Pre-Increment (temp int)
0:23 'c' (global int)
0:24 default:
0:? Sequence
0:25 Branch: Break
0:28 Sequence
0:28 Sequence
0:28 move second child to first child (temp int)
0:28 'i' (temp int)
0:28 Constant:
0:28 0 (const int)
0:28 Loop with condition tested first
0:28 Loop Condition
0:28 Compare Less Than (temp bool)
0:28 'i' (temp int)
0:28 Constant:
0:28 0 (const int)
0:28 Loop Body
0:29 Pre-Increment (temp int)
0:29 'c' (global int)
0:28 Loop Terminal Expression
0:28 Pre-Increment (temp int)
0:28 'i' (temp int)
0:31 Sequence
0:31 Sequence
0:31 move second child to first child (temp int)
0:31 'i' (temp int)
0:31 Constant:
0:31 0 (const int)
0:31 Loop with condition tested first
0:31 Loop Condition
0:31 Compare Less Than (temp bool)
0:31 'i' (temp int)
0:31 Constant:
0:31 10 (const int)
0:31 Loop Body
0:32 Sequence
0:32 Test condition and select (temp void)
0:32 Condition
0:32 Compare Less Than (temp bool)
0:32 'c' (global int)
0:32 Constant:
0:32 3 (const int)
0:32 true case
0:33 Sequence
0:33 Branch: Break
0:34 Pre-Increment (temp int)
0:34 'c' (global int)
0:32 false case
0:36 Sequence
0:36 Branch: Continue
0:37 Pre-Increment (temp int)
0:37 'c' (global int)
0:31 Loop Terminal Expression
0:31 Pre-Increment (temp int)
0:31 'i' (temp int)
0:41 Branch: Return
0:43 Pre-Increment (temp int)
0:43 'c' (global int)
0:46 Function Definition: foo( (global int)
0:46 Function Parameters:
0:48 Sequence
0:48 Test condition and select (temp void)
0:48 Condition
0:48 Compare Greater Than (temp bool)
0:48 'c' (global int)
0:48 Constant:
0:48 4 (const int)
0:48 true case
0:49 Sequence
0:49 Branch: Return with expression
0:49 Constant:
0:49 4 (const int)
0:50 Pre-Increment (temp int)
0:50 'c' (global int)
0:53 Branch: Return with expression
0:53 Constant:
0:53 5 (const int)
0:55 Pre-Increment (temp int)
0:55 'c' (global int)
0:? Linker Objects 0:? Linker Objects
0:? 'flag' (const bool) 0:? 'flag' (const bool)
0:? false (const bool) 0:? false (const bool)
......
...@@ -397,19 +397,6 @@ ERROR: node is still EOpNull! ...@@ -397,19 +397,6 @@ ERROR: node is still EOpNull!
0:62 Construct vec4 (temp 4-component vector of float) 0:62 Construct vec4 (temp 4-component vector of float)
0:62 Convert int to float (temp float) 0:62 Convert int to float (temp float)
0:62 'color' (temp int) 0:62 'color' (temp int)
0:66 Function Definition: aggCall( (global void)
0:66 Function Parameters:
0:? Sequence
0:69 Function Call: m(vf2; (global 3-component vector of float)
0:69 Convert int to float (temp 2-component vector of float)
0:69 Construct ivec2 (temp 2-component vector of int)
0:69 Convert float to int (temp int)
0:69 'F' (temp float)
0:72 Function Definition: badConv( (global 4-component vector of float)
0:72 Function Parameters:
0:74 Sequence
0:74 Branch: Return with expression
0:74 'u' (uniform float)
0:? Linker Objects 0:? Linker Objects
0:? 'u' (uniform float) 0:? 'u' (uniform float)
hlsl.deadFunctionMissingBody.vert
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 13
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 9
Name 4 "main"
Name 9 "@entryPointOutput"
Decorate 9(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output
10: 6(float) Constant 0
11: 7(fvec4) ConstantComposite 10 10 10 10
4(main): 2 Function None 3
5: Label
Store 9(@entryPointOutput) 11
Return
FunctionEnd
...@@ -176,16 +176,6 @@ ERROR: node is still EOpNull! ...@@ -176,16 +176,6 @@ ERROR: node is still EOpNull!
0:20 'gl_Position' (gl_Position highp 4-component vector of float Position) 0:20 'gl_Position' (gl_Position highp 4-component vector of float Position)
0:20 Construct vec4 (temp highp 4-component vector of float) 0:20 Construct vec4 (temp highp 4-component vector of float)
0:20 'foo' (global highp float) 0:20 'foo' (global highp float)
0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float)
0:22 Function Parameters:
0:22 'a' (in highp 4-component vector of float)
0:24 Sequence
0:24 Sequence
0:24 move second child to first child (temp highp 4-component vector of float)
0:24 'b' (temp highp 4-component vector of float)
0:24 'a' (in highp 4-component vector of float)
0:25 Branch: Return with expression
0:25 'b' (temp highp 4-component vector of float)
0:47 Sequence 0:47 Sequence
0:47 move second child to first child (temp highp int) 0:47 move second child to first child (temp highp int)
0:47 'q1' (global highp int) 0:47 'q1' (global highp int)
...@@ -256,25 +246,6 @@ ERROR: node is still EOpNull! ...@@ -256,25 +246,6 @@ ERROR: node is still EOpNull!
0:123 'bar107' (global highp int) 0:123 'bar107' (global highp int)
0:128 Constant: 0:128 Constant:
0:128 5 (const int) 0:128 5 (const int)
0:131 Function Definition: foo203209409( (global void)
0:131 Function Parameters:
0:134 Sequence
0:134 add second child into first child (temp highp int)
0:133 'bar107' (global highp int)
0:134 Constant:
0:134 37 (const int)
0:135 multiply second child into first child (temp highp int)
0:135 'bar107' (global highp int)
0:136 Constant:
0:136 38 (const int)
0:137 divide second child into first child (temp highp int)
0:137 'bar107' (global highp int)
0:138 Constant:
0:138 39 (const int)
0:139 add (temp highp int)
0:139 'bar107' (global highp int)
0:140 Constant:
0:140 41 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'foo' (global highp float) 0:? 'foo' (global highp float)
0:? 'goodDecl' (global highp int) 0:? 'goodDecl' (global highp int)
......
...@@ -90,16 +90,6 @@ ERROR: node is still EOpNull! ...@@ -90,16 +90,6 @@ ERROR: node is still EOpNull!
0:20 'gl_Position' (gl_Position highp 4-component vector of float Position) 0:20 'gl_Position' (gl_Position highp 4-component vector of float Position)
0:20 Construct vec4 (temp highp 4-component vector of float) 0:20 Construct vec4 (temp highp 4-component vector of float)
0:20 'foo' (global highp float) 0:20 'foo' (global highp float)
0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float)
0:22 Function Parameters:
0:22 'a' (in highp 4-component vector of float)
0:24 Sequence
0:24 Sequence
0:24 move second child to first child (temp highp 4-component vector of float)
0:24 'b' (temp highp 4-component vector of float)
0:24 'a' (in highp 4-component vector of float)
0:25 Branch: Return with expression
0:25 'b' (temp highp 4-component vector of float)
0:45 Sequence 0:45 Sequence
0:45 move second child to first child (temp highp int) 0:45 move second child to first child (temp highp int)
0:45 'q1' (global highp int) 0:45 'q1' (global highp int)
......
...@@ -58,10 +58,6 @@ max_vertices = -1 ...@@ -58,10 +58,6 @@ max_vertices = -1
input primitive = none input primitive = none
output primitive = points output primitive = points
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:3 Function Definition: foo( (global void)
0:3 Function Parameters:
0:3 Function Definition: bar( (global void)
0:3 Function Parameters:
0:? Linker Objects 0:? Linker Objects
Shader version: 110 Shader version: 110
0:? Sequence 0:? Sequence
......
...@@ -69,25 +69,6 @@ Shader version: 450 ...@@ -69,25 +69,6 @@ Shader version: 450
0:4 Function Parameters: 0:4 Function Parameters:
0:4 Sequence 0:4 Sequence
0:4 Function Call: bar( (global void) 0:4 Function Call: bar( (global void)
0:8 Function Definition: C(i1;i1; (global void)
0:8 Function Parameters:
0:8 '' (in int)
0:8 '' (in int)
0:10 Function Definition: A( (global void)
0:10 Function Parameters:
0:10 Sequence
0:10 Function Call: B( (global void)
0:10 Function Call: C(i1; (global void)
0:10 Constant:
0:10 1 (const int)
0:10 Function Call: C(b1; (global void)
0:10 Constant:
0:10 true (const bool)
0:10 Function Call: C(i1;i1; (global void)
0:10 Constant:
0:10 1 (const int)
0:10 Constant:
0:10 2 (const int)
0:12 Function Definition: main( (global void) 0:12 Function Definition: main( (global void)
0:12 Function Parameters: 0:12 Function Parameters:
0:14 Sequence 0:14 Sequence
......
...@@ -30,8 +30,6 @@ Linked fragment stage: ...@@ -30,8 +30,6 @@ Linked fragment stage:
Shader version: 300 Shader version: 300
0:? Sequence 0:? Sequence
0:3 Function Definition: foo( (global void)
0:3 Function Parameters:
0:? Linker Objects 0:? Linker Objects
0:? 'gl_VertexID' (gl_VertexId highp int VertexId) 0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) 0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
......
...@@ -130,18 +130,6 @@ Linked fragment stage: ...@@ -130,18 +130,6 @@ Linked fragment stage:
Shader version: 100 Shader version: 100
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:5 Function Definition: foo(vf3; (global lowp 2-component vector of float)
0:5 Function Parameters:
0:5 'mv3' (in mediump 3-component vector of float)
0:? Sequence
0:8 Branch: Return with expression
0:8 vector swizzle (temp highp 2-component vector of float)
0:8 'hv4' (temp highp 4-component vector of float)
0:8 Sequence
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 1 (const int)
0:25 Function Definition: main( (global void) 0:25 Function Definition: main( (global void)
0:25 Function Parameters: 0:25 Function Parameters:
0:27 Sequence 0:27 Sequence
......
...@@ -218,66 +218,6 @@ Shader version: 330 ...@@ -218,66 +218,6 @@ Shader version: 330
0:? Sequence 0:? Sequence
0:3 Function Definition: main( (global void) 0:3 Function Definition: main( (global void)
0:3 Function Parameters: 0:3 Function Parameters:
0:9 Function Definition: self( (global void)
0:9 Function Parameters:
0:11 Sequence
0:11 Function Call: self( (global void)
0:16 Function Definition: foo(f1; (global void)
0:16 Function Parameters:
0:16 '' (in float)
0:18 Sequence
0:18 Function Call: bar(i1; (global float)
0:18 Constant:
0:18 2 (const int)
0:21 Function Definition: bar(i1; (global float)
0:21 Function Parameters:
0:21 '' (in int)
0:23 Sequence
0:23 Function Call: foo(f1; (global void)
0:23 Constant:
0:23 4.200000
0:25 Branch: Return with expression
0:25 Constant:
0:25 3.200000
0:32 Function Definition: A( (global void)
0:32 Function Parameters:
0:32 Sequence
0:32 Function Call: B( (global void)
0:33 Function Definition: C( (global void)
0:33 Function Parameters:
0:33 Sequence
0:33 Function Call: D( (global void)
0:34 Function Definition: B( (global void)
0:34 Function Parameters:
0:34 Sequence
0:34 Function Call: C( (global void)
0:35 Function Definition: D( (global void)
0:35 Function Parameters:
0:35 Sequence
0:35 Function Call: A( (global void)
0:41 Function Definition: AT( (global void)
0:41 Function Parameters:
0:41 Sequence
0:41 Function Call: BT( (global void)
0:41 Function Call: BT( (global void)
0:41 Function Call: BT( (global void)
0:42 Function Definition: CT( (global void)
0:42 Function Parameters:
0:42 Sequence
0:42 Function Call: DT( (global void)
0:42 Function Call: AT( (global void)
0:42 Function Call: DT( (global void)
0:42 Function Call: BT( (global void)
0:43 Function Definition: BT( (global void)
0:43 Function Parameters:
0:43 Sequence
0:43 Function Call: CT( (global void)
0:43 Function Call: CT( (global void)
0:43 Function Call: CT( (global void)
0:44 Function Definition: DT( (global void)
0:44 Function Parameters:
0:44 Sequence
0:44 Function Call: AT( (global void)
0:? Linker Objects 0:? Linker Objects
0:? 'gl_VertexID' (gl_VertexId int VertexId) 0:? 'gl_VertexID' (gl_VertexId int VertexId)
0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) 0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
...@@ -285,113 +225,5 @@ Shader version: 330 ...@@ -285,113 +225,5 @@ Shader version: 330
0:? Sequence 0:? Sequence
0:5 Function Definition: main( (global void) 0:5 Function Definition: main( (global void)
0:5 Function Parameters: 0:5 Function Parameters:
0:11 Function Definition: cfoo(f1; (global void)
0:11 Function Parameters:
0:11 '' (in float)
0:13 Sequence
0:13 Function Call: cbar(i1; (global float)
0:13 Constant:
0:13 2 (const int)
0:20 Function Definition: CA( (global void)
0:20 Function Parameters:
0:20 Sequence
0:20 Function Call: CB( (global void)
0:21 Function Definition: CC( (global void)
0:21 Function Parameters:
0:21 Sequence
0:21 Function Call: CD( (global void)
0:27 Function Definition: CAT( (global void)
0:27 Function Parameters:
0:27 Sequence
0:27 Function Call: CBT( (global void)
0:27 Function Call: CBT( (global void)
0:27 Function Call: CBT( (global void)
0:28 Function Definition: CCT( (global void)
0:28 Function Parameters:
0:28 Sequence
0:28 Function Call: CDT( (global void)
0:28 Function Call: CDT( (global void)
0:28 Function Call: CBT( (global void)
0:32 Function Definition: norA( (global void)
0:32 Function Parameters:
0:33 Function Definition: norB( (global void)
0:33 Function Parameters:
0:33 Sequence
0:33 Function Call: norA( (global void)
0:34 Function Definition: norC( (global void)
0:34 Function Parameters:
0:34 Sequence
0:34 Function Call: norA( (global void)
0:35 Function Definition: norD( (global void)
0:35 Function Parameters:
0:35 Sequence
0:35 Function Call: norA( (global void)
0:36 Function Definition: norE( (global void)
0:36 Function Parameters:
0:36 Sequence
0:36 Function Call: norB( (global void)
0:37 Function Definition: norF( (global void)
0:37 Function Parameters:
0:37 Sequence
0:37 Function Call: norB( (global void)
0:38 Function Definition: norG( (global void)
0:38 Function Parameters:
0:38 Sequence
0:38 Function Call: norE( (global void)
0:39 Function Definition: norH( (global void)
0:39 Function Parameters:
0:39 Sequence
0:39 Function Call: norE( (global void)
0:40 Function Definition: norI( (global void)
0:40 Function Parameters:
0:40 Sequence
0:40 Function Call: norE( (global void)
0:44 Function Definition: norcA( (global void)
0:44 Function Parameters:
0:45 Function Definition: norcB( (global void)
0:45 Function Parameters:
0:45 Sequence
0:45 Function Call: norcA( (global void)
0:46 Function Definition: norcC( (global void)
0:46 Function Parameters:
0:46 Sequence
0:46 Function Call: norcB( (global void)
0:47 Function Definition: norcD( (global void)
0:47 Function Parameters:
0:47 Sequence
0:47 Function Call: norcC( (global void)
0:47 Function Call: norcB( (global void)
0:48 Function Definition: norcE( (global void)
0:48 Function Parameters:
0:48 Sequence
0:48 Function Call: norcD( (global void)
0:9 Function Definition: cbar(i1; (global float)
0:9 Function Parameters:
0:9 '' (in int)
0:11 Sequence
0:11 Function Call: cfoo(f1; (global void)
0:11 Constant:
0:11 4.200000
0:13 Branch: Return with expression
0:13 Constant:
0:13 3.200000
0:20 Function Definition: CB( (global void)
0:20 Function Parameters:
0:20 Sequence
0:20 Function Call: CC( (global void)
0:21 Function Definition: CD( (global void)
0:21 Function Parameters:
0:21 Sequence
0:21 Function Call: CA( (global void)
0:27 Function Definition: CBT( (global void)
0:27 Function Parameters:
0:27 Sequence
0:27 Function Call: CCT( (global void)
0:27 Function Call: CCT( (global void)
0:27 Function Call: CCT( (global void)
0:28 Function Definition: CDT( (global void)
0:28 Function Parameters:
0:28 Sequence
0:28 Function Call: CAT( (global void)
0:? Linker Objects 0:? Linker Objects
...@@ -399,17 +399,6 @@ ERROR: node is still EOpNull! ...@@ -399,17 +399,6 @@ ERROR: node is still EOpNull!
0:26 'fd' (global double) 0:26 'fd' (global double)
0:26 Constant: 0:26 Constant:
0:26 2.000000 0:26 2.000000
0:127 Function Definition: foo(f1[5]; (global 5-element array of float)
0:127 Function Parameters:
0:127 '' (in 5-element array of float)
0:129 Sequence
0:129 Branch: Return with expression
0:129 Constant:
0:129 3.400000
0:129 4.200000
0:129 5.000000
0:129 5.200000
0:129 1.100000
0:137 Function Definition: main( (global void) 0:137 Function Definition: main( (global void)
0:137 Function Parameters: 0:137 Function Parameters:
0:140 Sequence 0:140 Sequence
......
float4 main(): SV_Target0 { return 0; }
struct Surface { float3 albedo; };
Surface surfaceShader(float fade);
Surface surfaceShaderExec()
{
float fade = 0;
return surfaceShader(0);
}
...@@ -45,13 +45,20 @@ $EXE -i -C *.vert *.geom *.frag *.tes* *.comp > singleThread.out ...@@ -45,13 +45,20 @@ $EXE -i -C *.vert *.geom *.frag *.tes* *.comp > singleThread.out
$EXE -i -C *.vert *.geom *.frag *.tes* *.comp -t > multiThread.out $EXE -i -C *.vert *.geom *.frag *.tes* *.comp -t > multiThread.out
diff singleThread.out multiThread.out || HASERROR=1 diff singleThread.out multiThread.out || HASERROR=1
# #
# entry point renaming tests # entry point renaming tests
# #
$EXE -i -H -V -D -e main_in_spv --source-entrypoint main hlsl.entry.rename.frag > $TARGETDIR/hlsl.entry.rename.frag.out echo Running entry-point renaming tests
$EXE -i -H -V -D -e main_in_spv --ku --source-entrypoint main hlsl.entry.rename.frag > $TARGETDIR/hlsl.entry.rename.frag.out
diff -b $BASEDIR/hlsl.entry.rename.frag.out $TARGETDIR/hlsl.entry.rename.frag.out || HASERROR=1 diff -b $BASEDIR/hlsl.entry.rename.frag.out $TARGETDIR/hlsl.entry.rename.frag.out || HASERROR=1
#
# Testing ill-defined uncalled function
#
echo Running ill-defined uncalled function
$EXE -D -e main -H hlsl.deadFunctionMissingBody.vert > $TARGETDIR/hlsl.deadFunctionMissingBody.vert.out
diff -b $BASEDIR/hlsl.deadFunctionMissingBody.vert.out $TARGETDIR/hlsl.deadFunctionMissingBody.vert.out || HASERROR=1
if [ $HASERROR -eq 0 ] if [ $HASERROR -eq 0 ]
then then
echo Tests Succeeded. echo Tests Succeeded.
......
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits. // For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run). // For the date, it uses the current date (when then script is run).
#define GLSLANG_REVISION "Overload400-PrecQual.1687" #define GLSLANG_REVISION "Overload400-PrecQual.1688"
#define GLSLANG_DATE "09-Dec-2016" #define GLSLANG_DATE "09-Dec-2016"
...@@ -1696,7 +1696,7 @@ bool TProgram::linkStage(EShLanguage stage, EShMessages messages) ...@@ -1696,7 +1696,7 @@ bool TProgram::linkStage(EShLanguage stage, EShMessages messages)
intermediate[stage]->merge(*infoSink, *(*it)->intermediate); intermediate[stage]->merge(*infoSink, *(*it)->intermediate);
} }
intermediate[stage]->finalCheck(*infoSink); intermediate[stage]->finalCheck(*infoSink, (messages & EShMsgKeepUncalled) != 0);
if (messages & EShMsgAST) if (messages & EShMsgAST)
intermediate[stage]->output(*infoSink, true); intermediate[stage]->output(*infoSink, true);
......
...@@ -377,7 +377,7 @@ void TIntermediate::mergeErrorCheck(TInfoSink& infoSink, const TIntermSymbol& sy ...@@ -377,7 +377,7 @@ void TIntermediate::mergeErrorCheck(TInfoSink& infoSink, const TIntermSymbol& sy
// //
// Also, lock in defaults of things not set, including array sizes. // Also, lock in defaults of things not set, including array sizes.
// //
void TIntermediate::finalCheck(TInfoSink& infoSink) void TIntermediate::finalCheck(TInfoSink& infoSink, bool keepUncalled)
{ {
if (getTreeRoot() == nullptr) if (getTreeRoot() == nullptr)
return; return;
...@@ -394,7 +394,7 @@ void TIntermediate::finalCheck(TInfoSink& infoSink) ...@@ -394,7 +394,7 @@ void TIntermediate::finalCheck(TInfoSink& infoSink)
// recursion and missing body checking // recursion and missing body checking
checkCallGraphCycles(infoSink); checkCallGraphCycles(infoSink);
checkCallGraphBodies(infoSink); checkCallGraphBodies(infoSink, keepUncalled);
// overlap/alias/missing I/O, etc. // overlap/alias/missing I/O, etc.
inOutLocationCheck(infoSink); inOutLocationCheck(infoSink);
...@@ -583,23 +583,27 @@ void TIntermediate::checkCallGraphCycles(TInfoSink& infoSink) ...@@ -583,23 +583,27 @@ void TIntermediate::checkCallGraphCycles(TInfoSink& infoSink)
// //
// See which functions are reachable from the entry point and which have bodies. // See which functions are reachable from the entry point and which have bodies.
// Reachable ones with missing bodies are errors. // Reachable ones with missing bodies are errors.
// Unreachable bodies are dead code.
// //
void TIntermediate::checkCallGraphBodies(TInfoSink& infoSink) void TIntermediate::checkCallGraphBodies(TInfoSink& infoSink, bool keepUncalled)
{ {
// Clear fields we'll use for this. // Clear fields we'll use for this.
for (TGraph::iterator call = callGraph.begin(); call != callGraph.end(); ++call) { for (TGraph::iterator call = callGraph.begin(); call != callGraph.end(); ++call) {
call->visited = false; call->visited = false;
call->calleeBodyPosition = -1; call->calleeBodyPosition = -1;
} }
// The top level of the AST includes function definitions (bodies). // The top level of the AST includes function definitions (bodies).
// Compare these to function calls in the call graph. // Compare these to function calls in the call graph.
// We'll end up knowing which have bodies, and if so, // We'll end up knowing which have bodies, and if so,
// how to map the call-graph node to the location in the AST. // how to map the call-graph node to the location in the AST.
TIntermSequence &functionSequence = getTreeRoot()->getAsAggregate()->getSequence(); TIntermSequence &functionSequence = getTreeRoot()->getAsAggregate()->getSequence();
std::vector<bool> reachable(functionSequence.size(), true); // so that non-functions are reachable
for (int f = 0; f < (int)functionSequence.size(); ++f) { for (int f = 0; f < (int)functionSequence.size(); ++f) {
glslang::TIntermAggregate* node = functionSequence[f]->getAsAggregate(); glslang::TIntermAggregate* node = functionSequence[f]->getAsAggregate();
if (node && (node->getOp() == glslang::EOpFunction)) { if (node && (node->getOp() == glslang::EOpFunction)) {
if (node->getName().compare(getEntryPointMangledName().c_str()) != 0)
reachable[f] = false; // so that function bodies are unreachable, until proven otherwise
for (TGraph::iterator call = callGraph.begin(); call != callGraph.end(); ++call) { for (TGraph::iterator call = callGraph.begin(); call != callGraph.end(); ++call) {
if (call->callee == node->getName()) if (call->callee == node->getName())
call->calleeBodyPosition = f; call->calleeBodyPosition = f;
...@@ -638,8 +642,20 @@ void TIntermediate::checkCallGraphBodies(TInfoSink& infoSink) ...@@ -638,8 +642,20 @@ void TIntermediate::checkCallGraphBodies(TInfoSink& infoSink)
if (call->calleeBodyPosition == -1) { if (call->calleeBodyPosition == -1) {
error(infoSink, "No function definition (body) found: "); error(infoSink, "No function definition (body) found: ");
infoSink.info << " " << call->callee << "\n"; infoSink.info << " " << call->callee << "\n";
} } else
reachable[call->calleeBodyPosition] = true;
}
}
// Bodies in the AST not reached by the call graph are dead;
// clear them out, since they can't be reached and also can't
// be translated further due to possibility of being ill defined.
if (! keepUncalled) {
for (int f = 0; f < (int)functionSequence.size(); ++f) {
if (! reachable[f])
functionSequence[f] = nullptr;
} }
functionSequence.erase(std::remove(functionSequence.begin(), functionSequence.end(), nullptr), functionSequence.end());
} }
} }
......
...@@ -364,7 +364,7 @@ public: ...@@ -364,7 +364,7 @@ public:
void addToCallGraph(TInfoSink&, const TString& caller, const TString& callee); void addToCallGraph(TInfoSink&, const TString& caller, const TString& callee);
void merge(TInfoSink&, TIntermediate&); void merge(TInfoSink&, TIntermediate&);
void finalCheck(TInfoSink&); void finalCheck(TInfoSink&, bool keepUncalled);
void addIoAccessed(const TString& name) { ioAccessed.insert(name); } void addIoAccessed(const TString& name) { ioAccessed.insert(name); }
bool inIoAccessed(const TString& name) const { return ioAccessed.find(name) != ioAccessed.end(); } bool inIoAccessed(const TString& name) const { return ioAccessed.find(name) != ioAccessed.end(); }
...@@ -396,7 +396,7 @@ protected: ...@@ -396,7 +396,7 @@ protected:
void mergeImplicitArraySizes(TType&, const TType&); void mergeImplicitArraySizes(TType&, const TType&);
void mergeErrorCheck(TInfoSink&, const TIntermSymbol&, const TIntermSymbol&, bool crossStage); void mergeErrorCheck(TInfoSink&, const TIntermSymbol&, const TIntermSymbol&, bool crossStage);
void checkCallGraphCycles(TInfoSink&); void checkCallGraphCycles(TInfoSink&);
void checkCallGraphBodies(TInfoSink&); void checkCallGraphBodies(TInfoSink&, bool keepUncalled);
void inOutLocationCheck(TInfoSink&); void inOutLocationCheck(TInfoSink&);
TIntermSequence& findLinkerObjects() const; TIntermSequence& findLinkerObjects() const;
bool userOutputUsed() const; bool userOutputUsed() const;
......
...@@ -146,6 +146,7 @@ enum EShMessages { ...@@ -146,6 +146,7 @@ enum EShMessages {
EShMsgOnlyPreprocessor = (1 << 5), // only print out errors produced by the preprocessor EShMsgOnlyPreprocessor = (1 << 5), // only print out errors produced by the preprocessor
EShMsgReadHlsl = (1 << 6), // use HLSL parsing rules and semantics EShMsgReadHlsl = (1 << 6), // use HLSL parsing rules and semantics
EShMsgCascadingErrors = (1 << 7), // get cascading errors; risks error-recovery issues, instead of an early exit EShMsgCascadingErrors = (1 << 7), // get cascading errors; risks error-recovery issues, instead of an early exit
EShMsgKeepUncalled = (1 << 8), // for testing, don't eliminate uncalled functions
}; };
// //
......
...@@ -84,9 +84,11 @@ EShMessages DeriveOptions(Source source, Semantics semantics, Target target) ...@@ -84,9 +84,11 @@ EShMessages DeriveOptions(Source source, Semantics semantics, Target target)
break; break;
case Target::Spv: case Target::Spv:
result = static_cast<EShMessages>(result | EShMsgSpvRules); result = static_cast<EShMessages>(result | EShMsgSpvRules);
result = static_cast<EShMessages>(result | EShMsgKeepUncalled);
break; break;
case Target::BothASTAndSpv: case Target::BothASTAndSpv:
result = static_cast<EShMessages>(result | EShMsgSpvRules | EShMsgAST); result = static_cast<EShMessages>(result | EShMsgSpvRules | EShMsgAST);
result = static_cast<EShMessages>(result | EShMsgKeepUncalled);
break; break;
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment