textureGatherOffsets(sArray[0], vec2(0.1), constOffsets);\r
textureGatherOffsets(sArray[0], vec2(0.1), offsets); // ERROR, offset not constant\r
}\r
+\r
+uniform samplerBuffer badSamp1; // ERROR, reserved\r
+uniform isamplerBuffer badSamp2; // ERROR, reserved\r
+uniform usamplerBuffer badSamp3; // ERROR, reserved\r
+uniform writeonly imageBuffer badSamp4; // ERROR, reserved\r
+uniform writeonly iimageBuffer badSamp5; // ERROR, reserved\r
+uniform writeonly uimageBuffer badSamp6; // ERROR, reserved\r
+\r
+#extension GL_OES_texture_buffer : enable\r
+#extension GL_EXT_texture_buffer : enable\r
+\r
+uniform samplerBuffer noPreSamp1; // ERROR, no default precision\r
+uniform isamplerBuffer noPreSamp2; // ERROR, no default precision\r
+uniform usamplerBuffer noPreSamp3; // ERROR, no default precision\r
+uniform writeonly imageBuffer noPreSamp4; // ERROR, no default precision\r
+uniform writeonly iimageBuffer noPreSamp5; // ERROR, no default precision\r
+uniform writeonly uimageBuffer noPreSamp6; // ERROR, no default precision\r
+\r
+precision highp samplerBuffer; \r
+precision highp isamplerBuffer;\r
+precision highp usamplerBuffer;\r
+precision highp imageBuffer; \r
+precision highp iimageBuffer; \r
+precision highp uimageBuffer; \r
+\r
+#ifdef GL_OES_texture_buffer\r
+uniform samplerBuffer bufSamp1; \r
+uniform isamplerBuffer bufSamp2; \r
+uniform usamplerBuffer bufSamp3; \r
+#endif\r
+#ifdef GL_EXT_texture_buffer\r
+uniform writeonly imageBuffer bufSamp4;\r
+uniform writeonly iimageBuffer bufSamp5;\r
+uniform writeonly uimageBuffer bufSamp6;\r
+#endif\r
+\r
+void bufferT()\r
+{\r
+ highp int s1 = textureSize(bufSamp1);\r
+ highp int s2 = textureSize(bufSamp2);\r
+ highp int s3 = textureSize(bufSamp3);\r
+\r
+ highp int s4 = imageSize(bufSamp4);\r
+ highp int s5 = imageSize(bufSamp5);\r
+ highp int s6 = imageSize(bufSamp6);\r
+ \r
+ highp vec4 f1 = texelFetch(bufSamp1, s1);\r
+ highp ivec4 f2 = texelFetch(bufSamp2, s2);\r
+ highp uvec4 f3 = texelFetch(bufSamp3, s3);\r
+}\r
GL_OES_gpu_shader5\r
ERROR: 0:177: 'variable indexing buffer block array' : not supported with this profile: es\r
ERROR: 0:182: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument\r
-ERROR: 36 compilation errors. No code generated.\r
+ERROR: 0:185: 'samplerBuffer' : Reserved word. \r
+ERROR: 0:185: 'sampler/image' : type requires declaration of default precision qualifier \r
+ERROR: 0:186: 'isamplerBuffer' : Reserved word. \r
+ERROR: 0:186: 'sampler/image' : type requires declaration of default precision qualifier \r
+ERROR: 0:187: 'usamplerBuffer' : Reserved word. \r
+ERROR: 0:187: 'sampler/image' : type requires declaration of default precision qualifier \r
+ERROR: 0:188: 'imageBuffer' : Reserved word. \r
+ERROR: 0:188: 'sampler/image' : type requires declaration of default precision qualifier \r
+ERROR: 0:189: 'iimageBuffer' : Reserved word. \r
+ERROR: 0:189: 'sampler/image' : type requires declaration of default precision qualifier \r
+ERROR: 0:190: 'uimageBuffer' : Reserved word. \r
+ERROR: 0:190: 'sampler/image' : type requires declaration of default precision qualifier \r
+ERROR: 0:195: 'sampler/image' : type requires declaration of default precision qualifier \r
+ERROR: 0:196: 'sampler/image' : type requires declaration of default precision qualifier \r
+ERROR: 0:197: 'sampler/image' : type requires declaration of default precision qualifier \r
+ERROR: 0:198: 'sampler/image' : type requires declaration of default precision qualifier \r
+ERROR: 0:199: 'sampler/image' : type requires declaration of default precision qualifier \r
+ERROR: 0:200: 'sampler/image' : type requires declaration of default precision qualifier \r
+ERROR: 54 compilation errors. No code generated.\r
\r
\r
Shader version: 310\r
+Requested GL_EXT_texture_buffer\r
Requested GL_OES_gpu_shader5\r
Requested GL_OES_shader_io_blocks\r
+Requested GL_OES_texture_buffer\r
ERROR: node is still EOpNull!\r
0:12 Function Definition: main( (global void)\r
0:12 Function Parameters: \r
0:182 0.100000\r
0:182 0.100000\r
0:182 'offsets' (uniform 4-element array of highp 2-component vector of int)\r
+0:220 Function Definition: bufferT( (global void)\r
+0:220 Function Parameters: \r
+0:222 Sequence\r
+0:222 Sequence\r
+0:222 move second child to first child (temp highp int)\r
+0:222 's1' (temp highp int)\r
+0:222 Function Call: textureSize(sB1; (global highp int)\r
+0:222 'bufSamp1' (uniform highp samplerBuffer)\r
+0:223 Sequence\r
+0:223 move second child to first child (temp highp int)\r
+0:223 's2' (temp highp int)\r
+0:223 Function Call: textureSize(isB1; (global highp int)\r
+0:223 'bufSamp2' (uniform highp isamplerBuffer)\r
+0:224 Sequence\r
+0:224 move second child to first child (temp highp int)\r
+0:224 's3' (temp highp int)\r
+0:224 Function Call: textureSize(usB1; (global highp int)\r
+0:224 'bufSamp3' (uniform highp usamplerBuffer)\r
+0:226 Sequence\r
+0:226 move second child to first child (temp highp int)\r
+0:226 's4' (temp highp int)\r
+0:226 Function Call: imageSize(IB1; (global highp int)\r
+0:226 'bufSamp4' (writeonly uniform highp imageBuffer)\r
+0:227 Sequence\r
+0:227 move second child to first child (temp highp int)\r
+0:227 's5' (temp highp int)\r
+0:227 Function Call: imageSize(iIB1; (global highp int)\r
+0:227 'bufSamp5' (writeonly uniform highp iimageBuffer)\r
+0:228 Sequence\r
+0:228 move second child to first child (temp highp int)\r
+0:228 's6' (temp highp int)\r
+0:228 Function Call: imageSize(uIB1; (global highp int)\r
+0:228 'bufSamp6' (writeonly uniform highp uimageBuffer)\r
+0:230 Sequence\r
+0:230 move second child to first child (temp highp 4-component vector of float)\r
+0:230 'f1' (temp highp 4-component vector of float)\r
+0:230 Function Call: texelFetch(sB1;i1; (global highp 4-component vector of float)\r
+0:230 'bufSamp1' (uniform highp samplerBuffer)\r
+0:230 's1' (temp highp int)\r
+0:231 Sequence\r
+0:231 move second child to first child (temp highp 4-component vector of int)\r
+0:231 'f2' (temp highp 4-component vector of int)\r
+0:231 Function Call: texelFetch(isB1;i1; (global highp 4-component vector of int)\r
+0:231 'bufSamp2' (uniform highp isamplerBuffer)\r
+0:231 's2' (temp highp int)\r
+0:232 Sequence\r
+0:232 move second child to first child (temp highp 4-component vector of uint)\r
+0:232 'f3' (temp highp 4-component vector of uint)\r
+0:232 Function Call: texelFetch(usB1;i1; (global highp 4-component vector of uint)\r
+0:232 'bufSamp3' (uniform highp usamplerBuffer)\r
+0:232 's3' (temp highp int)\r
0:? Linker Objects\r
0:? 's' (shared highp 4-component vector of float)\r
0:? 'v' (buffer highp 4-component vector of float)\r
0:? 0 (const int)\r
0:? 0 (const int)\r
0:? 0 (const int)\r
+0:? 'badSamp1' (uniform mediump samplerBuffer)\r
+0:? 'badSamp2' (uniform mediump isamplerBuffer)\r
+0:? 'badSamp3' (uniform mediump usamplerBuffer)\r
+0:? 'badSamp4' (writeonly uniform mediump imageBuffer)\r
+0:? 'badSamp5' (writeonly uniform mediump iimageBuffer)\r
+0:? 'badSamp6' (writeonly uniform mediump uimageBuffer)\r
+0:? 'noPreSamp1' (uniform mediump samplerBuffer)\r
+0:? 'noPreSamp2' (uniform mediump isamplerBuffer)\r
+0:? 'noPreSamp3' (uniform mediump usamplerBuffer)\r
+0:? 'noPreSamp4' (writeonly uniform mediump imageBuffer)\r
+0:? 'noPreSamp5' (writeonly uniform mediump iimageBuffer)\r
+0:? 'noPreSamp6' (writeonly uniform mediump uimageBuffer)\r
+0:? 'bufSamp1' (uniform highp samplerBuffer)\r
+0:? 'bufSamp2' (uniform highp isamplerBuffer)\r
+0:? 'bufSamp3' (uniform highp usamplerBuffer)\r
+0:? 'bufSamp4' (writeonly uniform highp imageBuffer)\r
+0:? 'bufSamp5' (writeonly uniform highp iimageBuffer)\r
+0:? 'bufSamp6' (writeonly uniform highp uimageBuffer)\r
0:? 'gl_VertexID' (gl_VertexId highp int VertexId)\r
0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)\r
\r
\r
\r
Shader version: 310\r
+Requested GL_EXT_texture_buffer\r
Requested GL_OES_gpu_shader5\r
Requested GL_OES_shader_io_blocks\r
+Requested GL_OES_texture_buffer\r
ERROR: node is still EOpNull!\r
0:12 Function Definition: main( (global void)\r
0:12 Function Parameters: \r
0:182 0.100000\r
0:182 0.100000\r
0:182 'offsets' (uniform 4-element array of highp 2-component vector of int)\r
+0:220 Function Definition: bufferT( (global void)\r
+0:220 Function Parameters: \r
+0:222 Sequence\r
+0:222 Sequence\r
+0:222 move second child to first child (temp highp int)\r
+0:222 's1' (temp highp int)\r
+0:222 Function Call: textureSize(sB1; (global highp int)\r
+0:222 'bufSamp1' (uniform highp samplerBuffer)\r
+0:223 Sequence\r
+0:223 move second child to first child (temp highp int)\r
+0:223 's2' (temp highp int)\r
+0:223 Function Call: textureSize(isB1; (global highp int)\r
+0:223 'bufSamp2' (uniform highp isamplerBuffer)\r
+0:224 Sequence\r
+0:224 move second child to first child (temp highp int)\r
+0:224 's3' (temp highp int)\r
+0:224 Function Call: textureSize(usB1; (global highp int)\r
+0:224 'bufSamp3' (uniform highp usamplerBuffer)\r
+0:226 Sequence\r
+0:226 move second child to first child (temp highp int)\r
+0:226 's4' (temp highp int)\r
+0:226 Function Call: imageSize(IB1; (global highp int)\r
+0:226 'bufSamp4' (writeonly uniform highp imageBuffer)\r
+0:227 Sequence\r
+0:227 move second child to first child (temp highp int)\r
+0:227 's5' (temp highp int)\r
+0:227 Function Call: imageSize(iIB1; (global highp int)\r
+0:227 'bufSamp5' (writeonly uniform highp iimageBuffer)\r
+0:228 Sequence\r
+0:228 move second child to first child (temp highp int)\r
+0:228 's6' (temp highp int)\r
+0:228 Function Call: imageSize(uIB1; (global highp int)\r
+0:228 'bufSamp6' (writeonly uniform highp uimageBuffer)\r
+0:230 Sequence\r
+0:230 move second child to first child (temp highp 4-component vector of float)\r
+0:230 'f1' (temp highp 4-component vector of float)\r
+0:230 Function Call: texelFetch(sB1;i1; (global highp 4-component vector of float)\r
+0:230 'bufSamp1' (uniform highp samplerBuffer)\r
+0:230 's1' (temp highp int)\r
+0:231 Sequence\r
+0:231 move second child to first child (temp highp 4-component vector of int)\r
+0:231 'f2' (temp highp 4-component vector of int)\r
+0:231 Function Call: texelFetch(isB1;i1; (global highp 4-component vector of int)\r
+0:231 'bufSamp2' (uniform highp isamplerBuffer)\r
+0:231 's2' (temp highp int)\r
+0:232 Sequence\r
+0:232 move second child to first child (temp highp 4-component vector of uint)\r
+0:232 'f3' (temp highp 4-component vector of uint)\r
+0:232 Function Call: texelFetch(usB1;i1; (global highp 4-component vector of uint)\r
+0:232 'bufSamp3' (uniform highp usamplerBuffer)\r
+0:232 's3' (temp highp int)\r
0:? Linker Objects\r
0:? 's' (shared highp 4-component vector of float)\r
0:? 'v' (buffer highp 4-component vector of float)\r
0:? 0 (const int)\r
0:? 0 (const int)\r
0:? 0 (const int)\r
+0:? 'badSamp1' (uniform mediump samplerBuffer)\r
+0:? 'badSamp2' (uniform mediump isamplerBuffer)\r
+0:? 'badSamp3' (uniform mediump usamplerBuffer)\r
+0:? 'badSamp4' (writeonly uniform mediump imageBuffer)\r
+0:? 'badSamp5' (writeonly uniform mediump iimageBuffer)\r
+0:? 'badSamp6' (writeonly uniform mediump uimageBuffer)\r
+0:? 'noPreSamp1' (uniform mediump samplerBuffer)\r
+0:? 'noPreSamp2' (uniform mediump isamplerBuffer)\r
+0:? 'noPreSamp3' (uniform mediump usamplerBuffer)\r
+0:? 'noPreSamp4' (writeonly uniform mediump imageBuffer)\r
+0:? 'noPreSamp5' (writeonly uniform mediump iimageBuffer)\r
+0:? 'noPreSamp6' (writeonly uniform mediump uimageBuffer)\r
+0:? 'bufSamp1' (uniform highp samplerBuffer)\r
+0:? 'bufSamp2' (uniform highp isamplerBuffer)\r
+0:? 'bufSamp3' (uniform highp usamplerBuffer)\r
+0:? 'bufSamp4' (writeonly uniform highp imageBuffer)\r
+0:? 'bufSamp5' (writeonly uniform highp iimageBuffer)\r
+0:? 'bufSamp6' (writeonly uniform highp uimageBuffer)\r
0:? 'gl_VertexID' (gl_VertexId highp int VertexId)\r
0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)\r
\r